Javascript 如何测试jQuery中的页面上是否存在具有特定ID的元素?
在jQuery中,我编写了一段代码,出现在我网站的每个页面上Javascript 如何测试jQuery中的页面上是否存在具有特定ID的元素?,javascript,jquery,Javascript,Jquery,在jQuery中,我编写了一段代码,出现在我网站的每个页面上 var d = $('#someElement').offset().top; 然而,并不是我网站上的每个页面都有ID为“someElement”的元素。不幸的是,在这些缺少此类元素的页面上,jQuery代码无法工作 为了解决这个问题,我想测试页面上的一个元素是否确实具有“someElement”的ID,然后仅在有ID的情况下运行上面的代码段 如何执行此测试?这个测试能解决问题吗?谢谢。$(“#someElement”)。如果元素存
var d = $('#someElement').offset().top;
然而,并不是我网站上的每个页面都有ID为“someElement”的元素。不幸的是,在这些缺少此类元素的页面上,jQuery代码无法工作
为了解决这个问题,我想测试页面上的一个元素是否确实具有“someElement”的ID,然后仅在有ID的情况下运行上面的代码段
如何执行此测试?这个测试能解决问题吗?谢谢。
$(“#someElement”)。如果元素存在,length
将返回1
,否则返回0
。检查jQuery对象的长度
var element = $('#someElement');
if (element.length) {
var element_top = element.offset().top;
}
使用if语句:
if($('someElement').length){do something}
尝试以下操作:
if($('#someElement').length>0){
var d = $('#someElement').offset().top;
}
这是另一种解决方法:即使元素不存在,也可以运行
var d=$('#someElement').offset()
,而不会导致错误(它只返回null)。因此,请尝试:
var d = $('#someElement').offset();
if (d) {
d = d.top;
}
不要为此使用jQuery!使用
getElementById
,因为如果元素不在DOM中,结果将是null
if (document.getElementById("someElement")) {
}
你可能想看看:编辑:事实上,这个问题基本上是那个问题的重复。是否应该这样标记?