我的语言选项列表很少:
<ul class="dropdown-menu">
<li><a href="#">English (English)</a></li>
<li><a href="#">Polski (Polish)</a></li>
</ul>
我正在尝试将每个English (English)
更改为EN
,但没有结果
$('a:contains("English (English)")').html().replace('English (English)', 'EN');
我错了什么?
答案 0 :(得分:1)
您不是更新元素文本,只是更新返回的字符串。使用 html()
并根据旧的html内容更新功能。
$('a:contains("English (English)")').html(function(i, v) {
return v.replace('English (English)', 'EN');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-menu">
<li><a href="#">English (English)</a>
</li>
<li><a href="#">Polski (Polish)</a>
</li>
</ul>
&#13;
答案 1 :(得分:1)
$(".dropdown-menu").find('li a').filter(function() {
return $(this).text() == 'English (English)';
}).text('EN');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-menu">
<li><a href="#">English (English)</a>
</li>
<li><a href="#">Polski (Polish)</a>
</li>
</ul>
&#13;
使用.filter()
答案 2 :(得分:1)
您可以使用replaceWith()替换任何div的内容:
$('a:contains("English (English)")').replaceWith('<a href="#">EN</a>');