使用角度设置ID访问元素

时间:2014-11-16 20:28:15

标签: javascript jquery html angularjs

我在应用程序中使用以下格式动态创建了元素:

< div id = "div{{var}}" > ... < / div> 其中var总是一个整数。

我在页面源代码中看到它正在按预期创建id,但JS选择器似乎没有这样识别它。当尝试使用jQuery访问这些项目时,我很难通过id选择它们。 尝试选择var = 1

的div时的示例

$('#div1')未定义。

所以我想知道当它们包含角度变量时,是否存在通过id访问元素的特定方式。

2 个答案:

答案 0 :(得分:0)

请确保在设置ID之前未执行jQuery代码。

如果在div获得“$("#div1")”ID之前执行div1,那么jQuery将返回一个类型为“object”而不是“is undefined”的对象。 您可以使用以下代码对此进行测试:

console.log("The type is: " + typeof($("#idOfSomethingThatDoesNotExist")));

结果:

The type is: object

答案 1 :(得分:0)

您不应该使用<div id="div{{var}}"> ... </div>

相反,您应该使用<div ng-attr-id="div{{var}}"> ... </div>

这可确保id仅在评估<div>var上设置"div{{var}}"。即,它最初未设置为{{1}}(文字字符串)。

有关详细信息,请参阅https://docs.angularjs.org/guide/directive#-ngattr-attribute-bindings