簡體   English   中英

使用javascript獲取div中的span元素

[英]Get span elements within div using javascript

我有一個 html 代碼:

<div id="id0" class="class0">
    <span> "1" </span>
    <span> "2" </span>
    <span> "3" </span>
</div>

問題是如何使用 javascript 將 1,2,3 作為列表?

我試過: document.getElementById 和 document.getElementsByClassName 但沒有任何作用。

您可以使用map然后刪除quoted marks以僅獲取number list

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>Test</title> </head> <body> <div id="id0" class="class0"> <span> "1" </span> <span> "2" </span> <span> "3" </span> </div> <script> console.clear(); const selectors = document.querySelectorAll('#id0 > span'); const list = [...selectors].map(span => parseInt(span.innerText.replace(/"/g,""))); console.log(list) </script> </body> </html>

您可以在容器 div 上的children上使用map()

 const cont = document.getElementById('id0'); const res = [...cont.children].map(x => x.innerHTML); console.log(res)
 <div id="id0" class="class0"> <span> "1" </span> <span> "2" </span> <span> "3" </span> </div>

函數querySelectorAll是您的朋友。

 document.getElementById("id0").querySelectorAll('span').forEach(element => { console.log (element); })
 <div id="id0" class="class0"> <span> "1" </span> <span> "2" </span> <span> "3" </span> </div>

使用document.getElementByIddocument.getElementsByTagName獲取元素,然后遍歷它們並將它們添加到列表中。 使用textContentinnerText獲取 span 元素的文本。

 var spans = document.getElementById('id0').getElementsByTagName('span'); var obj = []; for (var i = 0, l = spans.length; i < l; i++) { obj.push(parseInt(spans[i].textContent.replace(/"/g,"")) || parseInt(spans[i].innerText.replace(/"/g,""))); } console.log(obj);
 <div id="id0" class="class0"> <span> "1" </span> <span> "2" </span> <span> "3" </span> </div>

我在這里為你提到這個過程——首先,從文檔中獲取const div = document.getElementById("id0"); ,您可以使用其他方法來做到這一點,然后獲取div的所有孩子,您可以通過const spans = div.children; ,現在看spans是包含所有 span 的 HTMLCollection(它是可迭代的)。 現在您遍歷每個跨度並獲取您的 textContent 並根據需要使用正則表達式/其他更改它們並將它們放入列表或其他列表中。

向他人學習的最佳方式是在復制代碼之前先了解代碼。

`

const div = document.getElementById("id0");
const spans = div.children;
for (let i = 0; i < spans.length; i++) {
  // here you get each textContent by spans[i].textContent
}

`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM