0

javaScript jQueryでdisplay:noneを持つ特定のクラスの要素を測定する方法はありますか?

例えば:

<div class="x" style="display: none;"></div>
<div class="x" style="display: none;"></div>
<div class="x"></div>

以下のコードを実行すると、class="x" を持つ要素が 3 つあるため、アラート "3" が表示されます。

var n = document.getElementsByClassName('x').length;
alert(n);

私のアラートがdisplay:noneの2つのクラス「x」のみを表示するための適切なセレクターは何でしょうか?

ご協力いただきありがとうございます!

4

1 に答える 1

3

クラス名と:hidden セレクターを混ぜてみてください。

  var list =  $('.x:hidden'); //select all elements with class x and are hidden.

デモ

ここでバニラJSで:

var n = document.getElementsByClassName('x'); //get the elements with class
var nodeList = []; 
for(var i=0, len = n.length; i<len; i++){ //loop through them
    if(n[i].style.display === "none") nodeList.push(n[i]); //check for display property value and push the element to the list.
}
alert(nodeList.length); //You have the list of elements with desired properties.

フィドル

于 2013-09-30T01:36:18.130 に答える