如何检查 JQuery 中是否存在元素
How do I check an element is exists in JQuery?
如果元素存在,我必须为元素设置一个特定的值。
var a = jQuery("#abc");
if(a) {
a.val("something");
}
为此,我必须检查a.length
以检查元素是否退出。
如果我直接设置值而不检查元素是否存在会发生什么?
因为,如果我执行以下操作
jQuery("#abc").val("dfd");
当元素不存在时,我在 chrome 中没有收到任何错误。那么,我可以继续这样使用吗?
或
有什么解决方法吗?
感谢帮助!
如果我直接设置值而不检查元素是否存在会发生什么?
无。在空的jQuery对象(set(上调用jQuery方法不会导致问题,它只是不做任何事情。这是jQuery中使用的基于集合的概念的伟大之处之一。等效的DOM代码(document.getElementById("abc").value = "something";
(会抛出错误,但jQuery版本不会。
具体来说,如果 jQuery 集为空:
-
调用 setter 方法(如
val
调用(变为无操作。 -
调用 getter 方法(例如,
var x = $("#foo").val();
(返回值undefined
。 -
调用遍历方法(例如,
var divs = $("#foo).find("div");
(会给你一个新的空集。
只需要检查(使用你说的if (a.length)
,或者if (a[0])
(你是否真的关心。
jQuery("#abc").val("dfd");
当元素不存在时,我在 chrome 中没有收到任何错误。那么,我可以继续这样使用吗?
是的。
jQuery的val()
方法只是设置(或获取(每个匹配元素的值。如果没有匹配的元素,则没有要设置(或获取(的值。您无需先检查元素是否存在。
来自jQuery的val()
文档:
说明:设置匹配元素集中每个元素的值。
如果没有匹配的元素,则不会发生任何事情。
尝试使用 -
jQuery("#abc").length > 0
是的,您可以放心地继续。JQuery 只是对选择器找到的所有元素执行一个函数 - 如果没有,它什么也不做。没有错误。
- 用于检查数组中是否存在元素的javascript自定义方法
- 是否存在React Native“;WEB代码安全防护”;
- 验证会话中是否存在对象's数组
- 如何查找值是否存在于二叉树中
- 检查是否存在使用chrome扩展的javascript库
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 测试mongo脚本中是否存在参数
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 检查数组中是否存在字符串值,并返回找到的数组值js
- 如何通过json对象选项卡中的Id来检查对象是否存在
- 检查是否存在任意控制器/操作
- Javascript滑块不滑动,如何判断是否存在JS冲突
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- javascript测试是否存在两个标志中的任何一个
- 如何使用javascript检查移动sd卡中是否存在文件
- 当提供函数名称时,检查函数是否存在于同一作用域中
- 需要帮助使用JQuery.inArray()检查值是否存在
- 确定元素是否存在
- 使用javascript检查服务器上是否存在html文件
- 是否存在类似ExtJS 4的框架;正常的“;网站