Подтвердить что ты не робот

JQuery что вместо $(this).parent(). children()

Просто быстрый пример:

<p>
    <span class="example"></span>
    <input type="text" name="e_name" id="e_id />
</p>
<script type="text/javascript">
    $('input').click(function(){
        $(this).parent().children('span').text('Suprise!');
    }
</script>

Что я могу использовать вместо parent(). children()?

Я думаю, что это немного неэлегантная часть кода. Любая функция i.e: $(this).fun('span'). Text ('just better');??

4b9b3361

Ответ 1

$(this).siblings('span').text('Suprise!');

Ответ 2

$(this).siblings('span').text('Surprise!');

Был бы эквивалент без прохождения DOM, а затем назад (я имею ввиду, он все еще делает это, но по крайней мере вы не делаете это вручную).

Ответ 3

Чуть более элегантный .prev()

$(this).prev('span').text('Surprise!');

вы можете узнать об этом подробнее: Prev

изменить: прочитать разметку назад, prev лучше, а не дальше.

Ответ 4

$("span.example",$(this).parent()).text('Suprise!');

Ответ 5

попробуйте следующее:

$(this).prev('span').text('Surprise!');