📅  最后修改于: 2023-12-03 15:16:49.519000             🧑  作者: Mango
在使用 jQuery 选择器动态操作 DOM 元素时,有时候需要判断元素是否仍然存在于文档中。这是因为有些操作会导致元素从文档中移除,例如删除、隐藏等操作。
下面介绍几种方法来检查元素是否仍然存在。
jQuery 选择器返回的对象有一个 length 属性,可以利用这个属性来判断是否选择到了元素。
if ($('#myElement').length) {
// 元素存在
} else {
// 元素不存在
}
可以使用 is() 方法来判断元素是否存在,示例代码如下:
if ($('#myElement').is('*')) {
// 元素存在
} else {
// 元素不存在
}
is() 方法接受一个参数,可以是一个选择器、一个 DOM 元素或一个 jQuery 对象。如果元素存在,is() 方法返回 true,否则返回 false。
可以使用 parent() 方法来获取元素的父元素,如果父元素存在,说明子元素也存在。示例代码如下:
if ($('#myElement').parent().length) {
// 元素存在
} else {
// 元素不存在
}
如果以上方法都不行,可以使用 try-catch 来捕获异常,示例代码如下:
try {
var element = $('#myElement')[0];
if (element) {
// 元素存在
} else {
// 元素不存在
}
} catch (e) {
// 元素不存在
}
以上方法各有优缺点,可以根据具体情况选择使用。