如何在不更改其他标签的情况下更改按钮中的文本?
我的按钮:
<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);
});
我只需要更改文本。但我不知道!!
最佳答案
您只需要替换按钮中的第一个文本节点,这就是这里的问题。当您使用 .text()
或 .html()
时,它会替换按钮的全部内容。
尝试
$('.dropdown-menu li a').click(function () {
$('#ItemForSearch').contents().eq(0).replaceWith($(this).text());
});
演示:Fiddle
关于javascript - 如何更改按钮中的文本而不更改其他标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19872950/