Javascript 为什么更改文本时会删除li元素中的链接(锚元素)?
我在jQuery 2.1.3中遇到了奇怪的行为。当我替换列表中锚元素中的文本时,锚元素将被移除。我怀疑这与我的选择器有关,但我不明白为什么 选择器:Javascript 为什么更改文本时会删除li元素中的链接(锚元素)?,javascript,jquery,Javascript,Jquery,我在jQuery 2.1.3中遇到了奇怪的行为。当我替换列表中锚元素中的文本时,锚元素将被移除。我怀疑这与我的选择器有关,但我不明白为什么 选择器: $("ul li:nth-child(2) a, ul li") 这显示了我的代码并演示了奇怪的行为。因为您正在选择和 三 法语 这是一本书 请注意,选择器已更改: $("ul li:nth-child(2) a, ul li:not(:nth-child(2))") 问题是您原来的选择器 $("ul li:nth-child(2) a,
$("ul li:nth-child(2) a, ul li")
这显示了我的代码并演示了奇怪的行为。因为您正在选择
和
三
法语
这是一本书
请注意,选择器已更改:
$("ul li:nth-child(2) a, ul li:not(:nth-child(2))")
问题是您原来的选择器
$("ul li:nth-child(2) a, ul li")
替换选择器第二部分指定的所有li标签ul li
,无论li
内部是什么
$(函数(){
$(“按钮”)。在(“单击”)上,函数(e){
var araEnglish=新数组('1','2','3'),
arafrence=新数组('un','deux','trois'),
$thisTxt=$(this.text().trim();
$(“ul li:nth child(2)a,ul li:not(:nth child(2)))。每个(函数(i){
如果($thisTxt=='To French')txt=$(this).text(阿拉法文[i]);
else txt=$(this).text(英语[i]);
});
$(this).text($thisTxt=='To French'?'To Anglais':'To French');
});
});代码>
- 一个
- 三
法语
根据您的选择器,您正在替换
元素和
三
对于法语
调用.text()
将替换li
的所有内容,包括锚定。首先,尝试替换$(this).text(“deux”)代码>与$(this.children().text(“deux”)代码>@rontornanbe查看所有其他答案。谢谢+一个正确的解决方案,但安东先到了。你用来说明你的答案的网站的链接是什么?对不起,你要找的是哪一个链接?有按钮的链接(运行代码段…)。这是一个很好的链接。它们直接从一个post:D的主体运行