【问题标题】:jQuery: Checking if next element existsjQuery:检查下一个元素是否存在
【发布时间】:2011-10-06 17:59:39
【问题描述】:

有没有办法检查下一个元素是否存在?检查我的代码:

if($("#people .making-of .mask ul li.current").next("li") != null) {
    alert("Exists");
}
else {
    alert("Dont exists");
}

我做错了什么?非常感谢!

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您是否尝试过查看.next('li').length

    【讨论】:

    • 没问题。很高兴我能帮上忙。
    • 我还以为next().length推断它在寻找相同类型的元素,但似乎不是,您必须再次定义元素类型,即$("table").next("table").length以查看是否有表遵循当前表格?
    【解决方案2】:

    使用jQuery .is(),使用.is()你甚至可以检查下一个元素有什么标签、类或ID?

    if($("#people .making-of .mask ul li.current").next().is('li')) {
        alert("Exists");
    }
    else {
        alert("Dont exists");
    }
    

    【讨论】:

      【解决方案3】:

      最简单的方法就是:

      if( $( ... ).next('li')[0] ) {
      

      由于 jQuery 函数总是返回一个 jQuery 对象,它永远不会等于null。但是像访问数组一样访问 jQuery 对象就像使用 DOM 对象数组一样,因此[0] 将提取第一个匹配的 DOM 元素或null。检查 .length() 与 0 是否有效。

      【讨论】:

        【解决方案4】:

        在 jQuery 中使用length 方法:

        if($(...).next().length > 0) {
            alert("Exists.")
        } else {
            alert("Doesn't exist!")
        }
        

        【讨论】:

        • (您需要使用.length 属性。)
        【解决方案5】:
        if($("#people .making-of .mask ul li.current").next("li").length > 0) {
            alert("Exists");
        }
        else {
            alert("Dont exists");
        }
        

        【讨论】:

          【解决方案6】:

          就像上面的帖子所说,您需要检查项目的长度。 jquery.next() 总是会返回一个 jquery 对象,但是如果没有下一项,它的长度就是 0。

          if($("#people .making-of .mask ul li.current").next("li").length > 0) {
              alert("Exists");
          }
          else {
              alert("Dont exists");
          }
          

          【讨论】:

            【解决方案7】:

            我觉得这样用like挺好的。

            if ($(this).nextAll().length > 0) { 警报(“存在”); }别的{ alert("不存在"); }

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-10-06
              • 1970-01-01
              • 2016-06-29
              • 2012-02-16
              • 1970-01-01
              • 2014-02-17
              • 2011-06-26
              • 2011-07-14
              相关资源
              最近更新 更多