Я пытаюсь получить идентификатор cont1 div, когда нажата привязка в expDelBtn (последний привязанный div)
<div id="tester" class="wrapper>">
<div id="sf_129" class="cont1">
<div class="cont2">
<div class="nameCont"><table><tbody><tr><td>Shaun Thomson</td></tr></tbody></table></div>
<div class="sexCont">Male</div>
</div>
<div class="btnCont">
<div class="expFold"><a href="#">▲</a></div>
</div>
<div style="display: block;" class="exCont">
<div class="exDel"><a href="#">X</a></div>
<div class="exMov"><a href="#">MOVE</a></div>
<div class="exPay"><a href="#">PAY</a></div>
</div>
</div>
<div class="exp1">
<div id="ro_129" class="exp2">
<div class="exp3">
<div class="expMsg">Hello there</div>
</div>
<div id="ex_267" class="expBtnCont">
<div class="expUpBtn"><a href="#">↑</a></div>
<div class="expDownBtn"><a href="#">↓</a></div>
<div class="expDelBtn"><a href="#">X</a></div>
</div>
</div>
</div>
</div>
В моем приложении func для expDelBtn у меня есть
alert($(this).closest(".cont1").attr("id"));
который ничего не показывает в предупреждении.
Если я сделаю
alert($(this).closest(".wrapper").attr("id"));
он показывает "тестер".
Что вы можете использовать для получения идентификатора "cont1"? И почему ближайший не делает этого? Это потому, что cont1 div отключен от другой ветки дерева DOM?
Спасибо за ваше время и помощь.
потому что cont1
не является предком кнопки
Это предыдущий брат ближайшего элемента .exp1
alert($(this).closest(".exp1").prev('.cont1').attr("id"));
или вы можете сказать, что вам нужно в cont1
элемент в ближайшей wrapper
, как ( у вас есть >
в имени класса обертке... удалить его)
alert($(this).closest(".wrapper").children('.cont1').attr("id"));
Демо: скрипка