Javascript 如何检查AngularJS中是否存在ID为的元素
如何检查具有特定ID的元素是否已经存在于我的DOM中的Angular指令中?通过使用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
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”与我的代码有什么关系。