1

クラス名'hidden'を持たないクラス名から配列を作成する必要があります:

<div id="part2">
<div class="address hidden">address</div>
<div class="floors">floors</div>
<div class="postcode"> </div>
<div class="city hidden"> </div>
</div>

次のようにdivを調べて配列を作成できますが、必要なのはクラスが非表示になっていないdivのみです。この場合は「floors」と「postcode」のみです。

 var list_div_class = function() {
  var myarray = [];
  $('#part2').children().each(
      function(index) {
  var myclass = $(this).attr("class");
   myarray[index] = myclass;
        });
     return myarray;
    }

var arr_divs = list_div_class();
  alert (arr_divs);  // there is hidden listed but it's ok 
4

4 に答える 4

2

これは、セレクターを使用して1行で実行できます。

var arr_divs = $('#part2 div:not(".hidden")'); //this will be the array of divs without the class .hidden 
于 2012-07-28T03:11:52.810 に答える
0

これを試してください...これが機能するフィドルリンクですhttp://jsfiddle.net/n3Xjr/

var list_div_class = function() {
  var myarray = [];

  $('#part2').children().not('.hidden').each(function(index) {
    myarray[index] = $(this).attr("class");
  });

  return myarray;
}

var arr_divs = list_div_class();
alert(arr_divs);​
于 2012-07-28T03:07:55.527 に答える
0

そのようなもの:

$(':not(.hidden)').each { ... }
于 2012-07-28T03:08:49.737 に答える
0

あなたも使うことができ.map()ます

var arr = [];
arr = $('#part2').children().not('.hidden').map(function(i,e) {
    return $(e).attr('class');
}).get().join(', ');

結果:

floors, postcode

ライブデモを参照

于 2012-07-28T03:28:49.937 に答える