我找不到这个问题的答案......
问题所在。将文本从DIV复制到输入(文本框)的Javascript无法将&
复制为&
,并将其复制为&
。请参阅代码加示例。
我有以下代码(在不同的页面上,只是为了简化我把所有内容放在这里):
INPUT我希望复制文本。
<input name="artist" id="txtArtist" type="text" placeholder="Introduce the artist" />
从中复制文本的DIV。此数据从SQL数据库填充。
<div id="art0"><div onclick="copyText(0)">Mumford & Sons</div></div>'
失败的功能......
function copyText(rowID){
var content = document.getElementById('art'+rowID).innerHTML.replace(/<\/?[^>]+(>|$)/g, "\n");
document.getElementById("txtArtist").value = document.getElementById('art'+rowID).innerHTML;
document.getElementById("txtArtist").value = content;
}
文本框中的预期结果:Mumford & Sons
文本框内的ACTUAL结果:Mumford & Sons
请帮忙吗?
谢谢大家!!
答案 0 :(得分:3)
使用.textContent
代替.innerHTML
:
var content = document.getElementById('art'+rowID).textContent;
请注意,IE 8及更低版本不支持.textContent
,因此如果您非常不幸,请测试并使用.innerText
。
var prop = 'textContent' in document.body ? 'textContent' : 'innerText',
content = document.getElementById('art'+rowID)[prop];