jQuery -你怎么说:是否有任何div名为x与属性display==块



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元素(即不是那些与nonedisplay属性值,你可以使用visible伪选择器:

var divs = $(".example:visible");

最新更新