jQuery, wie Sie auf Klasse hinzufügen, um bestimmte div ' s

Gibt es eine Möglichkeit, um eine Klasse durch jquery auf alle divs mit ul ist mit nur einem element in der Liste (wie div.filter_7). Mit jQuery habe ich müssen gehen durch jeder div.list-container und die Anzahl der Listen-Elemente. Wenn die Listen-Elemente sind niedriger als 2 ist, dann ist jquery Anhängen a-Klasse.

<div class="filter_group">
<div class="filter-holder filter_1">
<h4>Test</h4>
<div class="list-container">
    <ul class="list filter">
        <li class="list_id1">list_id1</li>
        <li class="list_id2">list_id2</li>
        <li class="list_id3">list_id3</li>
        <li class="list_id4">list_id4</li>
        <li class="list_id5">list_id5</li>
    </ul>
</div>
</div>
<div class="filter-holder filter_2">
<h4>Test</h4>
<div class="list-container">
    <ul class="list filter">
        <li class="list_id11">list_id11</li>
        <li class="list_id22">list_id22</li>
        <li class="list_id33">list_id33</li>
        <li class="list_id44">list_id44</li>
        <li class="list_id55">list_id55</li>
    </ul>
</div>
</div>
<div class="filter-holder filter_6">
<h4>Test</h4>
<div class="list-container">
    <ul class="list filter">
        <li class="list_id111">list_id111</li>
        <li class="list_id222">list_id222</li>
        <li class="list_id555">list_id555</li>
    </ul>
</div>
</div>
<div class="filter-holder filter_7">
<h4>Test</h4>
<div class="list-container">
    <ul class="list filter">
        <li class="list_id1111">list_id1111</li>
        <li class="list_id2221">list_id2222</li>
    </ul>
</div>
</div>

Hier ist, was ich bisher gemacht habe mit jquery, aber es scheint falsch:

    var total = 0;
$(document).ready(function() {
    $('.list-container').each(function(idx, item){
      total = $(".list-container>ul").size();
          if (6 >= total) {
           $('.list-container').parent('div').addClass('noshow');
    } else {
    alert(total);
    }              
    });
});

Können wir sicher davon ausgehen, dass jeder <div> wird immer nur einer enthalten <ul> oder brauchen wir, um Konto für, sagen wir, ein <div> hat eine <ul> mit nur einem element und einen zweiten <ul> dass mehrere Elemente hat (und, wenn wir das tun, sollten diese ausgeblendet werden oder nicht?).
Warten... ist es "niedriger als zwei" oder "nur eine" list-Element. Bedeutet eine leere Liste bekommen Nichterscheinen wird die Klasse auch? Der code nicht exakt deine Frage.

InformationsquelleAutor vangelis | 2012-03-21

Schreibe einen Kommentar