是的,我知道这个问题已经问了很多。但是,这让我感到困惑,因为Google在此搜索中的结果显示了不同的方法(下面列出)
$(document).ready(function() {
if ($('#DivID').length){
alert('Found with Length');
}
if ($('#DivID').length > 0 ) {
alert('Found with Length bigger then Zero');
}
if ($('#DivID') != null ) {
alert('Found with Not Null');
}
});
这3种方法中的哪一种是检查div是否存在的正确方法?
编辑:令人沮丧的是,人们不想从三种不同的方法中学习什么是更好的方法。这个问题实际上不是关于“如何检查div是否存在”的问题,而是关于哪种方法更好,并且,如果有人可以解释,为什么更好呢?
首先是最简洁的,我同意。前两个相同,但第一个短一点,因此您将节省字节数。第三个是完全错误的,因为该条件永远将评估为true,因为该对象永远不会为null或虚假。
如果仅检查ID是否存在,则无需进入jQuery,您可以简单地执行以下操作:
if(document.getElementById("yourid") !== null)
{
}
getElementById
null
如果找不到则返回。
参考。
但是,如果您打算以后使用jQuery对象,我建议:
$(document).ready(function() {
var $myDiv = $('#DivID');
if ( $myDiv.length){
//you can now reuse $myDiv here, without having to select it again.
}
});
选择器总是返回一个jQuery对象,因此不需要进行检查null
(我想知道是否存在需要检查的边缘情况null
-但我认为没有)。
如果选择器未找到任何内容length === 0
,则为“虚假”(当转换为bool时为假)。因此,如果找到了东西,那么它应该是“真实的”-因此您无需检查>0。只是因为它是“真实”
正如karim79所说,第一个是最简洁的。但是我可能会争辩说第二个更容易理解,因为对于某些Javascript / jQuery程序员来说,非零/假值true
在if语句中被评估是不明显的。因此,第三种方法是不正确的。
本文地址:http://jquery.askforanswer.com/yongjqueryjianchadivshifoucunzaizhongfu.html
文章标签:exists , html , jquery
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
文章标签:exists , html , jquery
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
评论已关闭!