JS獲取標簽內容的方法


JS獲取標簽內容的方法

 測試代碼
 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>Title</title>
 </head>
 <body>
 <div id="box">
     <p>這有個     第一個p</p><p>這有個第二個p</p>
     <span>這是個
 ​
         span</span>
     <br><a href="#">這有個a標簽</a>
 </div></body>
 </html>
 

 

1.innerHTML

此方法可獲取標簽中的所有的內容,包括標簽、空格、文本、換行等。

想要清空標簽的內容,innerHTML = "";即可

如果想要設置標簽中的內容,innerHTML = "填寫想要設置的標簽和內容";設置內容時,會把原有的內容全部覆蓋

JS代碼和效果圖如下:

 <script>
     var box = document.getElementById('box');
     // 獲取標簽的內容
     var box1 = box.innerHTML;
     var box2 = document.getElementById('box').innerHTML;
     console.log(box1);
 </script>

 

 

 <script>
     //替換標簽內容
     var box = document.getElementById('box');
     box.innerHTML = '<h3>你們被我h3替換啦!!!</h3>';
     console.log(box);
 </script>

 

2.innerText

此方法獲取標簽(及其子標簽)中的所有文本,不會獲取標簽(或者說可以過濾掉所有的標簽)。如果有多個空格或者是換行,解析為一個空格

如果想要清空標簽的內容,innerText = "";即可

如果想要設置標簽中的內容,innerText = "填寫想要設置的標簽和內容";設置內容時,會把原有的內容全部覆蓋但是標簽不會被解析會直接以文本的形式打印在頁面中

<script>
     //獲取標簽機器子標簽的所有文本內容
     var box = document.getElementById('box');
     var box2 = box.innerText;
     console.log(box2);
   </script>

 

 

 

 <script>
     //修改標簽文本內容,內容中包含的標簽不會被解析,會文本輸出
     var box = document.getElementById('box');
     box.innerText = '<p>這里有個p,來看一下</p>'
 </script>

 

 

 

3.texContent

textContent來獲取標簽中的內容。但是textContent在過濾掉標簽時,會保留標簽結構。

innerText兼容性問題處理JS代碼:

 <script>
 //    處理innerText的瀏覽器兼容性問題
     function getInnerText(element) {
         if (typeof element.innerText === 'string') {
             return element.innerText;
         } else {
             return element.textContent;
         }
     }
 </script>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM