【问题标题】:jquery select all br with display:none;jquery选择所有带有显示的br:无;
【发布时间】:2019-02-13 20:39:15
【问题描述】:

如何根据 css 选择元素?

我需要选择一个带有内联样式显示的 br:无。这与 br:hidden 不同,因为它会选择以其他方式隐藏的元素,而我不希望这样。

谢谢。

【问题讨论】:

标签: jquery


【解决方案1】:

你可以试试:

$("br").filter(function() { return $(this).css("display") == "none" })

【讨论】:

    【解决方案2】:

    另一种方法是使用 jQuery 的属性选择器:

    $("br[style$='display: none;']")
    

    【讨论】:

      【解决方案3】:

      使用filter

      $("br").filter(function () {
          return $(this).css("display") == "none";
      });
      

      【讨论】:

      • 不知道为什么这会被赞成,因为它不起作用!它必须是 CSS 属性,而不是 HTML 元素上的属性
      • 应该是css() 而不是attr()display 是 CSS 而不是 HTML 属性
      【解决方案4】:

      这样的事情怎么样:

      $(document).ready(function() {
        $("div:hidden").each(function() {
          if ($(this).css("display") == "none") {
              // do something
          }
        });
      });
      

      【讨论】:

        【解决方案5】:

        使用 jQuery.map:

        var brs = $('br');
        jQuery.map(brs, function(elem, i){
            if(elem.css('display') == 'none')
                return elem;
            return null;
        });
        

        【讨论】:

        • 实际上过滤器可能更好。
        【解决方案6】:
        $("br").filter(function() {
          return $(this).css("display") == "none";
        })
        

        像魅力一样工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-09
          • 2013-02-02
          • 2019-06-03
          • 2012-11-23
          相关资源
          最近更新 更多