如何在一行中复制不同跨度的文本?[已关闭]

编辑问题,以包括预期行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答问题。

在修改完结束标签后,您可能已经完成了第一步,但是需要使用第二种方法

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 评论

留下您的评论.