大家好,尝试将div中的文本复制到按钮单击上的输入中 我到它复制文本的位置,但是我不想复制整行 所以我想知道是否可以将每个名称分别复制到输入中?
var namesButton = document.getElementById("names");
namesButton.addEventListener("click", names);
var counter = 0;
function names() {
var elems = document.getElementsByClassName("hud-leaderboard-party");
var lastElem = elems[counter];
document.getElementsByClassName("hud-intro-name")[0].value = lastElem.innerText;
counter += 1;
if (counter >= elems.length) {
counter = 0;
}
}
<div class="hud-intro-leaderboard-parties">
<div class="hud-leaderboard-party">name one, name two, — <strong>1000</strong></div>
<div class="hud-leaderboard-party">name three, name four, — <strong>1000</strong></div>
<div class="hud-leaderboard-party">name five, — <strong>1000</strong></div>
</div>
<input type="text" class="hud-intro-name" style="width: 50%;">
<button id="names" style="width: 40%;">copy name to input</button>
答案 0 :(得分:0)
我假设“将名称分开?”在您的问题中意味着仅获取标签的文本内容而没有内部标签内容。
一种简单的方法是按照@СергейПетрашко在注释中的建议将文本内容包装在标签中。
如果无法修改HTML,则可以使用childNodes textContent属性代替lastElem.innerText;
所以在您的功能中,
document.getElementsByClassName("hud-intro-name")[0].value = lastElem.innerText;
以上行可以修改为
document.getElementsByClassName("hud-intro-name")[0].value=lastElem.childNodes[0].textContent;
但是仍然会有“-”,其中名称作为标签文本内容的一部分,您应该能够通过分割字符串或类似内容来将其删除。