Jquery-使用display:block选择所有锚定标记

Jquery-使用display:block选择所有锚定标记,jquery,jquery-selectors,Jquery,Jquery Selectors,我想不起来怎么做 给定一个满是锚定标记的页面,我只想选择那些具有CSS属性的元素display:block 我想我可以用jQuery循环(警告伪代码!) 但是没有更简单的方法吗?您可以使用函数作为参数 $('a').filter(function (index) { return $(this).css("display") === "block"; }) 可以与函数一起使用作为参数 $('a').filter(function

我想不起来怎么做

给定一个满是锚定标记的页面,我只想选择那些具有CSS属性的元素
display:block

我想我可以用jQuery循环(警告伪代码!)

但是没有更简单的方法吗?

您可以使用函数作为参数

$('a').filter(function (index) {
                  return $(this).css("display") === "block";
              })
可以与函数一起使用作为参数

$('a').filter(function (index) {
                  return $(this).css("display") === "block";
              })

我假设display属性是通过具有某个类或其他属性来设置的。这将通过使用该属性简化选择。另外,如果隐藏了其他锚点,则可以使用
$('a:visible')
选择器显示可见锚点。

我假设display属性是通过具有某个类或其他属性来设置的。这将通过使用该属性简化选择。此外,如果隐藏了其他锚点,则可以使用
$('a:visible')
选择器显示可见的锚点。

//隐藏css显示为块的所有项目(慢速):


//隐藏css显示为块的所有项目(慢):


如果您想将它作为jquery工具(如果您经常使用它)。通过向项目中添加以下代码,可以扩展“:”选择器:

$.extend($.expr[':'], {
    "block": function(a, i, m) {
        return $(a).css("display") == "block";
    }
});
然后,您可以通过以下方式选择所有块定位:

var res = $("a:block");
请参见此处的示例:


[注意]正如您在示例中看到的,如果在自然块元素(即div)上使用“:block”,它仍将返回true。(换句话说,“div:block”是真的,除非你特别给它块以外的东西)

如果你想把它作为jquery工具(如果你经常使用它)。通过向项目中添加以下代码,可以扩展“:”选择器:

$.extend($.expr[':'], {
    "block": function(a, i, m) {
        return $(a).css("display") == "block";
    }
});
然后,您可以通过以下方式选择所有块定位:

var res = $("a:block");
请参见此处的示例:


[注意]正如您在示例中看到的,如果在自然块元素(即div)上使用“:block”,它仍将返回true。(换句话说,“div:block”是真的,除非您专门为它指定除block以外的内容)

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

$("a[style$='display: block;']")

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

$("a[style$='display: block;']")
或者更简单:

$("a:visible")
或者更简单:

$("a:visible")

可能重复的可能重复与Joseph的相同,只是选择器不符合每个问题,加上它隐藏的元素也不符合每个问题。这与Joseph的相同,只是选择器不符合每个问题,加上它隐藏的元素也不符合每个问题。