次のようなものが機能し、テキスト変更の最後にボタンを追加します: http://jsfiddle.net/DXR32/1/
var blueButton = '<b class="caret"></b>';
$('.xyz').click(function(){
$(this).find('a').html('hello2 '+blueButton);
});
編集:
または、@Nikola Radosavljević と @François Wahl が以下で提案するように、アンカー内の独自の要素内で変更するテキストを次のようにカプセル化します。
<div class="xyz">
<a><span class="switchable">Hello</span> <b class="caret"></b></a>
</div>
$('.xyz').click(function(){
$(this).find('.switchable').text('hello2');
});
これにより、ボタン html をハードコーディングする必要がなくなり、任意の数のアンカー要素でクリック関数を再利用することもできます。必要なのは、切り替えたいテキストを含むspan
クラスを持つ独自のものだけです。switchable
<div class="xyz">
<a><span class="switchable">Click Me 1</span> <b class="caret"></b></a>
</div>
<div class="xyz">
<a><span class="switchable">Click Me 2</span> <b class="caret2"></b></a>
</div>
<div class="xyz">
<a><span class="switchable">Click Me 3</span> <b class="caret3"></b></a>
</div>
$('.xyz').click(function(){
$(this).find('.switchable').text('You Clicked Me!');
});
明らかに、アプリは最後の例とは完全に異なる場合があります。