Expand

2017-06-21 5 views
1

ich für ein Beispiel freu oder vielleicht ein kleiner Hinweis Filter verfügbar basierend auf der Anzahl von FilternExpand

die zeigen Nehmen wir an, dass ich eine Liste haben:

<dl class="filter-list clearfix filter-list-row-2"> 
    <dt>Type:</dt> 
    <dd class="active">All</dd> 
    <dd><a href="smart-devices-min0-max0-attr287/">BP Monitor</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr420/">Electric Kettle</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr373/">Fitness Tracker</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr311/">Gamepad</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr325/">Multi Color LED Bulb</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr367/">Smart Home Sensor</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr387/">Smart Socket</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr347/">TV Box</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr281/">Water Tester</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr299/">Weight Scale</a></dd> 
    <dd><a href="smart-devices-min0-max0-attr336/">Wireless Mouse</a></dd> 
</dl> 

Was ich tun möchte, ist die Höhe auf Zahlen von Filtern auf Basis zu ändern, und ich habe diesen Code für sie

$(".filter-list").each(function(index, element) { 
    var childnum=$(this).find("dd").length; 
    var row=Math.ceil(childnum/6); 
    if(row>1){ 
     $(this).parent().find(".more").show(); 
     $(this).find(".children").addClass("filter-list-row"+row); 
    } 
}); 

Dieser Code sollte diese

ändern
<dl class="filter-list clearfix filter-list-row-2"> 

zu

<dl class="filter-list clearfix filter-list-row-3"> 

Aber es ist nicht zu ändern dies bitte helfen Sie mir, wie kann ich es

+0

benutzen Sie einfach Es gibt nichts in Ihrer Probe '..filter-list' zu entsprechen, und es scheint, Ihr Code wird davon ausgegangen wird es etwas übereinstimmen das ist ein Vorfahre der Probe. Bitte genug, um neu zu erstellen. – Richard

+0

Ich habe den Hauptcode bearbeitet –

Antwort

1
$(this).find(".children") 

Als $(this) das Element arbeiten zu machen ist (dh gearbeitet wird. $(".filter-list")) Sie aktualisieren ein Kind mit der Klasse children. Es gibt kein solches Element.

das aktuelle Element zu aktualisieren (das ist, was Sie wollen)

$(this).addClass("filter-list-row"+row);