编辑问题,以包括预期行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答问题。
在修改完结束标签后,您可能已经完成了第一步,但是需要使用第二种方法
let text = document.querySelector(".text").textContent;
console.log(text); // does not do what you want
text = [...document.querySelectorAll(".text .word")]
.map(elem => elem.textContent.trim()) // trim each element's text
.join(" "); // join with a space
console.log(text); // works better
<div class="text">
<span class="word">
Hello
</span>
<span class="word">
world!
</span>
</div>
可能是更简单的方法
var words = $('.text .word').map(function() {
return $(this).text().trim();
}).get();
var output = words.join(' ');
console.log(output);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="text">
<span class="word">
Hello
</span>
<span class="word">
world!
</span>
</div>
不清楚您是想要从网页上的所有范围中复制文本,还是您的HTML代码只是一个更大的网页的一部分,并且您只想从带有word class的范围中复制文本。
如果您只想复制word class范围内的文本,可以使用以下代码:
查找单词类的所有范围, 遍历找到的范围并连接其中的文本。
let list_of_spans = document.getElementsByClassName("word") // get all DOM span objects with class "word"
let copied_text = '' // initialize an empty string
for (const current_span of list_of_spans) {
copied_text += current_span.innerText // add text from a given span object to copied_text string
}
console.log(copied_text)
<div class="text">
<span class="word">
Hello
</span>
<span class="word">
world!
</span>
<span class="something-else">
I like stack.
</span>
</div>
本文链接:https://my.lmcjl.com/post/17337.html
展开阅读全文
4 评论