Как подфильтровать объект jquery, который является подмножеством $ (this) - PullRequest
0 голосов
/ 08 мая 2009

Я перечитывал документацию снова и снова, и я не понимаю, почему это не работает

Внутри функции вызывается следующее:

alert($(this).parent().parent().html());

возвращает что-то похожее на это:

<div class="something1">
    <div class="whereThisStarted">stuff</div>
    </div>
<div class="something2">stuff</div>
<div class="somethingSpecial">stuff</div>
<div class="something4">stuff</div>

Я хочу получить «что-то особенное». Мне кажется, что любое из следующего должно работать, но оба возвращают ноль.

alert($(this).parent().parent().children(".somethingSpecial").html());
alert($(this).parent().parent().filter("div.somethingSpecial").html());

Что с этим не так?

Спасибо

Ответы [ 3 ]

6 голосов
/ 08 мая 2009

, если вы действительно должны делать это так, как хотите, а не так, как показал TStamper, попробуйте это:

alert($(this).parent().parent().find("div.somethingSpecial").html());
2 голосов
/ 08 мая 2009

Возможно, вы захотите попробовать ближайшую функцию - звучит так, как будто она больше соответствует тому, что вы пытаетесь сделать:

jquery doc - ближайший ()

Этот код должен работать:

alert($(this).closest(".somethingSpecial").html());

Или в том случае, если ваш $ (this) находится внутри div 'startHere':

alert($(this).parent().closest(".somethingSpecial").html());
0 голосов
/ 08 мая 2009

Я не уверен, почему одни дети ("div.somethingSpecial") не работают, но я только что понял, что это также работает:

alert($(this).parent().parent().children().filter("div.charactersLeft").html());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...