为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery是否存在“存在”功能?

jQuery是否存在“存在”功能?

繁星点点滴滴 2019-05-27 16:57:48
jQuery是否存在“存在”功能?如何在jQuery中检查元素的存在?我当前的代码是这样的:if ($(selector).length > 0) {     // Do something}有更优雅的方式来解决这个问题吗?也许是插件或功能?
查看完整描述

4 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

在JavaScript中,一切都是'真实'或'虚假',而数字0(和NaN)意味着false,其他一切true。所以你可以写:

if ($(selector).length)

你不需要那个>0部分。


查看完整回答
反对 回复 2019-05-27
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

是!

jQuery.fn.exists = function(){ return this.length > 0; }if ($(selector).exists()) {
    // Do something}

这是对Jeff Atwood的Herding Code播客的回应


查看完整回答
反对 回复 2019-05-27
?
郎朗坤

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 */ }


查看完整回答
反对 回复 2019-05-27
?
繁花如伊

TA贡献2012条经验 获得超12个赞

你可以用这个:

// if element existsif($('selector').length){ /* do something */ }

// if element does not existif(!$('selector').length){ /* do something */ }


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 703 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信