0

他のタグを変更せずにボタンのテキストを変更する方法は?

私のボタン:

<button id="ItemForSearch" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
All Items
<span class="caret"></span>
</button>

私のドロップダウンメニュー:

<ul class="dropdown-menu">
 <li><a id="AllItems" href="#">AllItems</a></li>
<li><a id="Countries" href="#">Countries</a></li>
<li><a id="Ships" href="#">Ships</a></li>
</ul>

私は次のことを試しましたが、スパンタグは削除されました:

 $('.dropdown-menu li a').click(function () {
 var item = $(this).text();
$('button[id=ItemForSearch]').text(item);
});

テキストを変更するだけでいいのですが、わかりません!!

4

1 に答える 1

2

ボタンの最初のテキスト ノードだけを置き換える必要があります。これが問題です。ボタンの内容全体を置き換えたり、使用し.text()たりする場合。.html()

試す

$('.dropdown-menu li a').click(function () {
    $('#ItemForSearch').contents().eq(0).replaceWith($(this).text());
});

デモ:フィドル

于 2013-11-09T06:06:38.427 に答える