13

スパンのあるdivがあります

<div id="div1">
    <span class="">hello</span>
</div>

divをクリックすると、divの最初のスパン要素のみのクラスを変更したい

$('#div1').click(function() {
    // ... check if first span element inside the div .. if there and change the class..    
});  
4

5 に答える 5

20
$('#div1').click(function() {    
   $('span:first', this).prop('class', 'newClassName');
})

http://api.jquery.com/first-selector/

http://jsfiddle.net/BUBb9/1/

于 2012-04-04T09:30:17.517 に答える
7

使用する

 $("div span:first-child")

次のように:

$('#div1').click(function() {    
   $('span:first', this).prop('class', 'ClassName');
})

http://api.jquery.com/first-child-selector/を参照してください

于 2012-04-04T09:31:49.090 に答える
3
$('#div1').click(function(){
    var v = $(this).find('span').text();
});

このように、スパンの値を取得できます。

.text()メソッドの代わりに.html()を使用することもできます。

于 2012-04-04T09:32:09.350 に答える
3

複数の回答が有効です。私のアプローチ:

$('#div1').click(function() {    
     $(this).find('span').first().attr('class','newClassName');
});
于 2012-04-04T09:33:37.180 に答える
2
$('#div1').click(function() {    
   $('#div1 span:first').attr('class', 'newClassName');
});
于 2012-04-04T09:35:24.680 に答える