Javascript 如何检查AngularJS中是否存在ID为的元素

Javascript 如何检查AngularJS中是否存在ID为的元素,javascript,angularjs,jqlite,Javascript,Angularjs,Jqlite,如何检查具有特定ID的元素是否已经存在于我的DOM中的Angular指令中?通过使用angular.element()创建一个不存在的元素,例如angular.element('someID')将返回一个元素,无论该元素是否已经存在 我现在所做的变通方法是使用.html()jqLite函数,如下所示: if(angular.element('#someElementID')。html()){ log('仅当元素已经存在时激发') } 有更好的方法吗?我希望避免仅为此包含整个jQuery。angu

如何检查具有特定ID的元素是否已经存在于我的DOM中的Angular指令中?通过使用
angular.element()
创建一个不存在的元素,例如
angular.element('someID')
将返回一个元素,无论该元素是否已经存在

我现在所做的变通方法是使用
.html()
jqLite函数,如下所示:

if(angular.element('#someElementID')。html()){

log('仅当元素已经存在时激发')

}

有更好的方法吗?我希望避免仅为此包含整个jQuery。

angular.element($document).find('someElementID')和angular.element('someElementID')都返回空数组,以防多个dom节点匹配选择器

您应该非常安全地执行以下操作:

if ( angular.element('#someElementID').length ) {
    console.log('#someElementID exists');
}

还要记住,jQLite.find()方法只支持标记名。

我已经测试过了,它可以正常工作

如果ID存在,则返回1

ID不存在,返回0

if(angular.element('#someElementID').length >0){
 console.log("Id is available.");
}else{
  console.log("Id is not available.");
}

您是否尝试了angular.element($document).find(“#someElementID”)?没有,但我现在尝试了。同样的结果,创建了一个对象。我刚刚在控制台中尝试过,angular.element($document.find('someElementID')和angular.element('someElementID')都返回一个空数组。您应该非常安全地执行以下操作:if(angular.element('#someElementID').length){console.log('#someElementID exists');}True这是一个数组,感谢您指出它。请随意发布一个答案,否则我将在稍后关闭该问题。Angular文档(顺便说一句,我发现它很差)增加了我的困惑,因为它提到
Angular.element()
返回一个jQuery对象而不是数组:您能添加一个包含真实数据的示例吗?这是因为我不知道“angula.element”与我的代码有什么关系。