如何使用jQuery仅克隆元素的文本值至目标元素?
解决方案:仅克隆元素文本值到目标元素
嘿,我懂你的问题啦——你现在用$("#button").clone().appendTo('#destination')会把整个<a>标签都复制过去,但你只需要它的文本内容对吧?没问题,这有几种简单的方法可以实现:
jQuery 方法
替换目标元素的文本
如果想直接把目标元素的内容替换成按钮的文本,用.text()方法就搞定了:
$("#destination").text($("#button").text());
.text()不带参数时会获取元素的纯文本内容,带参数时会把元素的内容设置成指定文本,完美匹配你的需求。
追加文本到目标元素
要是你不想替换目标元素原有内容,而是想把按钮文本追加进去,就用.append():
$("#destination").append($("#button").text());
原生 JavaScript 方法
如果你项目里没用到jQuery,用原生JS也能轻松实现:
替换文本
document.getElementById('destination').textContent = document.getElementById('button').textContent;
追加文本
document.getElementById('destination').textContent += document.getElementById('button').textContent;
为什么你原来的代码不行?因为clone()方法会复制整个DOM元素(包括<a>标签本身、href属性这些所有内容),而我们只需要提取里面的文本内容,所以用上面这些获取/设置文本的方法就精准多啦。
内容的提问来源于stack exchange,提问作者Bijan Zand
相关产品推荐
相关产品推荐

