jQuery .next Все не работает? - PullRequest
       1

jQuery .next Все не работает?

5 голосов
/ 02 августа 2011

Я получил этот HTML

<tr>
<td>
Main Alliase/Current Alliase:
</td>
<td><input type="text" id="maina" class="countchars" max="30"/><br />
    <span class="showchars"></span>
</td>
<td><span id="handle-1" class="selector" title="The Main Alliase with which people know you OR the alliase with which u play most <br /> <b>You'r App would be also named after this only</b>" header="Main Alliase/Current Alliase">?</span></td>
<td><div id="error-1" class="errors"></div></td>
</tr>

И этот JS:

$('#maina').focus(function() {
$(this).closest("tr").find(".selector").qtip('toggle', true);
    $(this).nextAll(".errors:first").html("Bla");
    $(this).siblings(".showchars").show();
});

Но когда я фокусируюсь на maina, он делает другие 2 вещи, но не меняет HTMLerrors класс.

Почему так?Что я делаю не так?Пожалуйста, помогите мне Спасибо

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

Я думаю, вы должны сделать:

 $(this).closest('tr').find(".errors:first").html("Bla");

Да, это потому, что nextAll () ищет братьев и сестер (Get all following siblings of each element in the set of matched elements, optionally filtered by a selector), а единственный брат Майны - это span

1 голос
/ 02 августа 2011

Как вы можете видеть на , этот пример .nextAll() возвращает только братьев и сестер.

Вы можете использовать:

$(this).parents("tr").eq(0).find(".errors:eq(0)").html("Bla");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...