如何使用angular或jquery向元素添加自定义指令名称?

时间:2015-09-01 05:42:24

标签: jquery angularjs angularjs-directive

我想在一个元素中添加自定义指令名称,就像我们在jquery中使用attr()方法添加属性名称及其值一样。

例如supoose我有一个名为 example-directive 的自定义指令,我想在编程上调用这个指令,就像下面的js小提琴示例我要添加 example-directive ID ID sam

有谁能告诉我如何实现这个目标?

http://jsfiddle.net/RmDuw/383/

3 个答案:

答案 0 :(得分:1)

你是如此接近这样做。 Here是这样做的小提琴手,here是一篇更详细解释它的文章。

你错过了:

console.log(attrs['exampleDirective1']);

编辑:

根据您的评论,您可以在this中添加jQuery属性,也可以找到.attr here

的文档。

答案 1 :(得分:0)

$compile是关键。假设你真的想用你的指令替换那个div。你需要找到那个元素,然后编译你的指令html并用它替换它。没有编译它将无法工作,你只是看到HTML。

function MyCtrl($scope, $element, $compile) {
    var element = $element.find("#sam");
    var compiled = $compile('<div example-directive1>{{message}}</div>')($scope);
    element.replaceWith(compiled);
}

这是jsfiddle

答案 2 :(得分:0)

  1. 使用JQuery设置元素的属性

    $('#id').attr('directive-name', '1');

  2. 编译属性

    $compile($('#id'))($scope);

这里是jsFiddle