DOM基礎

dom對象的innerText和innerHTML有什么區別?

  • innerText返回的是元素內包含的文本內容,多層次時由淺到深排序拼接內容。
  • innerHTML返回的是html文檔結構包括文本

elem.children和elem.childNodes的區別?

  • elem.children返回的數據類型是(HTMLcollection)是元素的子元素集合,但不包括文本節點
    -elem.childNodes返回的數據類型(NodeList)是元素的子元素集合,包括HTML節點,所有屬性,文本節點

查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?

  • document.getElementById() :匹配指定ID屬性的元素節點
  • document.getElementsByClasName(): 方法返回一個類似數組的對象(HTMLCollection類型的對象),包括了所有class名字符合指定條件的元素
  • document.getElementByTagName('')返回所有指定標簽的元素
  • document.getElementByName('')方法用于選擇擁有name屬性的HTML元素
  • es5方法
    1.querySelector()方法返回匹配指定的CSS選擇器的元素節點,如document.querySelector(".myclass");
    2.querySelectorAll方法返回匹配指定的CSS選擇器的所有節點

如何創建一個元素?如何給元素設置屬性?如何刪除屬性

 var newElement = document.createElement('input');創建
 newElement.setAttribute('name','user');設置
 newElement.removeAttribute('name');刪除

如何給頁面元素添加子元素?如何刪除頁面元素下的子元素?

  <ul>
       <li></li>
        <li></li>
  </ul>
<script>
 var ulnode = document.getElementsByTagName('ul')[0];
 var li = document.createElement('li');
 var context = document.createTextNode('hello');
 li.appendChild(context);
 ulnode.insertBefore(li,ulnode.firstChild);
</script>                                                              
    //輸出 <ul>
                     <li>hello</li>
                     <li></li>
                     <li></li>
              </ul>
     刪除 ulnode.removeChild(li);

element.classList有哪些方法?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class?如何刪除一個class?

使用contains方法返回一個布爾值判斷一個元素的class中是否包含某個class
添加add() 刪除remove()

如何選中如下代碼所有的li元素? 如何選中btn元素?

     <div class="mod-tabs">
       <ul>
         <li>list1</li>
         <li>list2</li>
         <li>list3</li>
       </ul>  
             <button class="btn">點我</button>
 </div>
              //document.querySelectorAll('.mod-tabs li')
             //document.querySelector('.mod-tabs btn')
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容