用jQuery检查某个元素在网页上是否存在时,应该根据获取元素的长度来判断,代码如下:
/**
* @param
* @author 编程之家 jb51.cc jb51.cc
**/
if($("#tt").length > 0) {
//元素存在时执行的代码
}
具体原因如下:
在JavaScript中,我们在使用传统的getElementById()和getElementsByTagName()时,如果在网页中找不到相关元素,那么浏览器就会报错,影响后续代码的执行,所以为了避免浏览器报错,可以对元素进行判断,例如:
if(document.getElementById("tt")) {//js判断元素是否存在
document.getElementById("tt").style.color = "red";
}
如果要操作的元素很多,就需要大量重复的工作,这往往让人厌倦。而jQuery的一大优势就是它完善的处理机制,即使用jQuery获取网页中不存在的元素也不会报错。这是因为$("#tt")获取的永远是对象,即使网页上没有此元素。因此当要用jQuery检查某个元素在网页上是否存在时,不能使用以下代码:
if($("#tt")) {
//永远执行,不管元素是否存在
}
这就是为什么要根据元素的长度来判断元素在页面中是否存在的原因。
原文链接:https://www.f2er.com/jquery/527418.html