jQuery -你怎么说:有任何div称为x与属性display==块?
如何在Jquery中使用特定属性来标记特定的div ?
谢谢…
而所谓的x是指类名为x的div
使用以下代码:
var DivsWithDisplayBlock = $("div.x").filter(function(){
return $(this).css("display") == "block";
});
这个定义的变量是一个JQuery对象,包含对所有带有display:block
的div的引用。例如,如果您想知道有多少div具有display:block
属性,请使用:alert(DivsWithDisplayBlock.length)
.
注意:你说的是* all divs called x
。我以为你是在和.x
班讨论所有div。其他调用div的方法:
-
#id
- id。这应该是唯一的,并且只发生一次。如果您定义了多个ID为x
的元素,我建议将id=
更改为class=
-
[name="x"]
-按名称选择
编辑(评论)
改变属性:
DivsWithDisplayBlock.css("display", "none");
.css()
方法将display:none
添加到每个被DivsWithDisplayBlock
引用的元素。
如果您想更改DIV.x
元素的多个样式,我建议使用.toggleClass("x-visible", "x-invisible")
。在样式表(.x-visible, .x-invisible
)中定义样式属性。当您对匹配的元素执行.toggleClass(..)
方法时,类名将交换。
的例子:
/* CSS*/
.x-invisible {display:none;}
.x-visible {display:block;}
/* JavaScript */
$(".x").toggleClass("x-invisible", "x-visible");
您可以使用以下选择器来定位可见div
Id选择器
$('#id:visible')
类选择器
$('div.class:visible')
$('div#x').filter(function() { return $(this).css('display')==='block'; }).length > 0
嗯,这取决于你所说的"x"是什么意思。假设"x"是一个类,因为它似乎有多个。
$('.x') // this will select all the **elements** with a class="x"
$('div.x') // this will select all the divs with a class="x"
如果你想测试某些属性,比如display:block
,它是一个样式,你可以这样做。
if ($('div.x').css('display') == "block") {
// do whatever
}
假设您想要选择所有具有display
属性值为block
的特定类的div
元素,您可以使用filter
方法:
var divs = $(".example").filter(function() {
return $(this).css("display") == "block";
});
如果您想过滤掉具有显示属性的元素,例如,inline-block
,则需要使用它。另一方面,如果你只是寻找可见的div
元素(即不是那些与none
的display
属性值,你可以使用visible
伪选择器:
var divs = $(".example:visible");