Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何测试jQuery中的页面上是否存在具有特定ID的元素?_Javascript_Jquery - Fatal编程技术网

Javascript 如何测试jQuery中的页面上是否存在具有特定ID的元素?

Javascript 如何测试jQuery中的页面上是否存在具有特定ID的元素?,javascript,jquery,Javascript,Jquery,在jQuery中,我编写了一段代码,出现在我网站的每个页面上 var d = $('#someElement').offset().top; 然而,并不是我网站上的每个页面都有ID为“someElement”的元素。不幸的是,在这些缺少此类元素的页面上,jQuery代码无法工作 为了解决这个问题,我想测试页面上的一个元素是否确实具有“someElement”的ID,然后仅在有ID的情况下运行上面的代码段 如何执行此测试?这个测试能解决问题吗?谢谢。$(“#someElement”)。如果元素存

在jQuery中,我编写了一段代码,出现在我网站的每个页面上

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")) {

}
你可能想看看:编辑:事实上,这个问题基本上是那个问题的重复。是否应该这样标记?