jQuery是否存在“存在”功能?如何在jQuery中检查元素的存在?我当前的代码是这样的:if ($(selector).length > 0) {
// Do something}有更优雅的方式来解决这个问题吗?也许是插件或功能?
4 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
在JavaScript中,一切都是'真实'或'虚假',而数字0
(和NaN)意味着false
,其他一切true
。所以你可以写:
if ($(selector).length)
你不需要那个>0
部分。
元芳怎么了
TA贡献1798条经验 获得超7个赞
是!
jQuery.fn.exists = function(){ return this.length > 0; }if ($(selector).exists()) { // Do something}
这是对Jeff Atwood的Herding Code播客的回应
郎朗坤
TA贡献1921条经验 获得超9个赞
如果你用过
jQuery.fn.exists = function(){return ($(this).length > 0);}if ($(selector).exists()) { }
你会暗示链接是可能的,但事实并非如此。
这会更好:
jQuery.exists = function(selector) {return ($(selector).length > 0);}if ($.exists(selector)) { }
或者,从FAQ:
if ( $('#myDiv').length ) { /* Do something */ }
您还可以使用以下内容。如果jQuery对象数组中没有值,那么获取数组中的第一个项将返回undefined。
if ( $('#myDiv')[0] ) { /* Do something */ }
繁花如伊
TA贡献2012条经验 获得超12个赞
你可以用这个:
// if element existsif($('selector').length){ /* do something */ }
// if element does not existif(!$('selector').length){ /* do something */ }
添加回答
举报
0/150
提交
取消