2014-01-21 2 views
0

HTML выглядит следующим образомвыберите первый объект, где родители не имеют класс

<tr class="rowinactive"> 
<td> 
<div class="controllingbuttons"> 
<a title="Aanpassen" href="/2013-2014/Persoon/Edit/1811?instID=410"> 
<img width="16" alt="Edit" src="/img/pencil.png"> 
</a> 
... 
</td> 
</tr> 

ИЛИ

<tr> (rowinactive class missing) 
<td> 
<div class="controllingbuttons"> 
<a title="Aanpassen" href="/2013-2014/Persoon/Edit/1811?instID=410"> 
<img width="16" alt="Edit" src="/img/pencil.png"> 
</a> 
... 
</td> 
</tr> 

теперь, я хочу, чтобы подсчитать количество изображений в первом DIV «controllingbuttons», но его родительский TR не может иметь класс rowinactive.

мой код ранее (когда мне было все равно о rowinactive пока)

$(".controllingbuttons").first().parent("td").find("img").length 

Я пытался, но он не работает:

$(".controllingbuttons").not($(".controllingbuttons").parents(".rowinactive").find(".controllingbuttons")).first().parent("td").find("img").length 

любые идеи?

ответ

2
$('tr').not('.rowinactive').find('.controllingbuttons img').length 
+0

Я думаю '$ ('tr'). Not ('. Rowinactive'). Find ('.controllingbuttons img'). length' будет делать, или худший случай '' $ ('tr'). not ('. rowinactive'). find ('. controlbuttons'). first ('img'). length'' –

+0

@ArunPJohny Да, вот и все. – xdazz

+0

Мне действительно нужен First(). благодаря! – Stefanvds

1

Попробуйте использовать closest() вместе с :not():

$(".controllingbuttons").closest('tr:not(.rowinactive)').length 
1

Вы можете проба это:.

var imageLen = $(".controllingbuttons").closest('tr:not(.rowinactive)').each(function(){ 
    return $(this).find('img').length; 
}); 
0

$ ("controllingbuttons") родитель ('тр: нет (. rowinactive) '). first()

или

$ (". Controlbuttons"). Ближайший ('tr: not (.rowinactive) td: First'). Length

Смежные вопросы