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>

我尝试了以下但 span 标签已被删除:

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

我只需要更改文本。但我不知道!

4

1 回答 1

2

您只需要替换按钮中的第一个文本节点,这就是这里的问题。当您使用.text()or.html()时,它会替换按钮的全部内容。

尝试

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

演示:小提琴

于 2013-11-09T06:06:38.427 回答