JQuery ближайший - что я здесь не так делаю?

0

Я пытаюсь получить идентификатор 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?

Спасибо за ваше время и помощь.

Теги:
closest

1 ответ

3
Лучший ответ

потому что cont1 не является предком кнопки

Это предыдущий брат ближайшего элемента .exp1

alert($(this).closest(".exp1").prev('.cont1').attr("id"));

или вы можете сказать, что вам нужно в cont1 элемент в ближайшей wrapper, как ( у вас есть > в имени класса обертке... удалить его)

alert($(this).closest(".wrapper").children('.cont1').attr("id"));

Демо: скрипка

  • 0
    Спасибо Арун - это сработало отлично. Я собираюсь посмотреть больше о .prev сейчас. Ура, приятель.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню