web-dev-qa-db-fra.com

jQuery quoi à la place $ (this) .parent (). children ()

Juste un petit exemple:

<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>

Que puis-je utiliser à la place parent (). Children ()?

Je pense que c'est un morceau de code un peu inélégant. Est-ce que n'importe quelle fonction, c'est-à-dire: $ (this) .fun ('span'). Text ('just better'); ??

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

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

Serait l'équivalent sans parcourir le DOM puis redescendre (je veux dire, il le fait toujours, mais au moins vous ne le faites pas manuellement).

7
rockerest

Un peu plus élégant est .prev()

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

vous pouvez en savoir plus ici: Précédent

modifier: lire le balisage à l'envers, prev est meilleur, pas suivant.

4
Jeremy B.

essaye ça:

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