web-dev-qa-db-ja.com

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()の代わりに何を使用できますか?

それは少し洗練されていないコードだと思います。関数はありますか:$(this).fun( 'span')。text( 'just better'); ??

20
Mr Sooul
$(this).siblings('span').text('Suprise!');
48

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

DOMを上に移動してから下に移動しなくても同等になります(つまり、それでも実行されますが、少なくとも手動で実行していません)。

7
rockerest

もう少しエレガントなのは.prev()です

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

あなたはそれについてここでもっと読むことができます: 前へ

編集:マークアップを逆に読みます。次ではなく、前のほうが良いです。

4
Jeremy B.

これを試して:

$(this).prev('span').text('Surprise!');
1
drudge
$("span.example",$(this).parent()).text('Suprise!');
1
Ryan Olds