Chcę policzyć całkowitą liczbę div wewnątrz kontenera i zmienić ich widoczność za pomocą struktury takiej jak ta. Należy również pamiętać, że div.content może również znajdować się w innych zagnieżdżonych lub nawet zagnieżdżonych kontenerach. Dlatego poradzić z jQuery, aby dodać div.topmost dla każdego najwyższego kontenera nadrzędnego:Policz całkowitą liczbę div dzieci wewnątrz kontenera
<div id="parent">
<div class="counter">There are 3 div.contents inside the container below</div>
<div class="container">
<div class="content"> 1 </div>
<div class="container"> <!--container inside container -->
<div class="content"> 2 </div>
<div class="content"> 3 </div>
</div>
</div>
<div class="counter">There are 5 div.contents inside the container below</div>
<div class="container">
<div class="content"> 1 </div>
<div class="content"> 2 </div>
<div class="content"> 3 </div>
<div class="content"> 4 </div>
<div class="content"> 5 </div>
</div>
</div>
a jQuery:
// only grab the top most container
$('#parent > .container').addClass('topmost');
var topMost = $(".topmost");
var totContent = topMost.children('.content').size();
if (topMost.length > 0) {
topMost.before('<div class="toggle">There are ' + totContent + ' div.contents inside the container below</div>');
}
topMost.hide();
$('#parent > .counter').click(function() {
$(this).next('.topmost').toggle();
//alert(totContent);
return false;
});
Ale nie może to działać w pętli dla każdego div. licznik. Licznik zawsze pokazuje całą zawartość div.content. Zatem podejrzenie, że każda funkcja jest podejrzana, stanowi problem.
Każde hep byłoby bardzo doceniane.
Dzięki
Dzięki, ale ignoruje div.content wewnątrz pojemnika zagnieżdżonego lub zagnieżdżonego. Zlicza tylko zawartość div.content najwyższego poziomu, ale nie zagnieżdżoną zawartość. Prawie na miejscu. Dzięki – swan
Ale zmiana dzieci do znalezienia załatwiła sprawę! Dzięki. Proszę zmienić dzieci, aby znaleźć, więc mogę zaznaczyć swoją odpowiedź na moje pytanie. Bardzo potrzebuję każdej funkcji :) – swan
cieszę się, że działa teraz dla ciebie ... – Reigel