DOM操作

题目1: dom对象的innerText和innerHTML有什么区别?

innerText:返回当前节点和它所有后代节点的文本内容
innerHTML:返回当前节点包含的所有文本节点和元素节点

题目2: elem.children和elem.childNodes的区别?

elem.children:返回不包含空字符文本节点的所有文本节点和元素节点
elem.children:返回包含空字符文本节点的所有文本节点和元素节点

题目3:查询元素有几种常见的方法?ES5的元素选择方法是什么?

4种
document.getElementById("idname");//通过id获取元素
document.getElementsByClassName("classname");//通过class获取对象
document.getElementsByTagName("tagname");//通过标签名获取对象
document.getElementsByName()//通过name获取对象
ES5的方法:
document.querySelector()//获取第一个元素
document.querySelectorAll()//获取所有同类元素

题目4:如何创建一个元素?如何给元素设置属性?如何删除属性

//创建一个元素
var newDiv=document.creaetElement('div') 
//给元素设置属性
newDiv.setAttribute('id','title')
//删除属性
 newDiv.removeAttribute('id')

题目5:如何给页面元素添加子元素?如何删除页面元素下的子元素?

//给页面添加子元素
var newDiv=document.createElement('div');
document.body.appendChild(newDiv);


//删除页面元素下的子元素
var Oid=document.getElementById('id1');//获取id为id1的页面元素
Oid.removeChild('span');

题目6: element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?

element.classList有哪些方法?

(1)

 //添加类名
 <body>
 <div id="jirengu">haha</div>
 <script>
   var newDiv=document.getElementById('jirengu');
   newDiv.classList.add("foo","bar");
 </script>
</body>
图片.png

(2)

   //删除指定类名
   <body>
   <div id="jirengu" class="foo">haha</div>
   <script>
      var newDiv=document.getElementById('jirengu');
      newDiv.classList.remove("foo");
   </script>
   </body>
图片.png

(3)

    //按集合中的索引返回类值
   <body>
   <div id="jirengu" class="foo bar">haha</div>
   <script>
     var newDiv=document.getElementById('jirengu');
     console.log(newDiv.classList.item(0));
   </script>
  </body>
图片.png

(4)

//toggle ( String [, force] )
//当只有一个参数时:如果元素中有该参数类,删除,并返回false;如果元素中没有该参数,添加,并返回true
<body>
<div id="jirengu" class="foo bar">haha</div>
<script>
var newDiv=document.getElementById('jirengu');
console.log(newDiv.classList.toggle('foo'));
</script>
</body>
图片.png
图片.png
 //当有两个参数时:如果第二个参数的计算结果为true,则添加指定的类值,如果计算结果为false,则删除指定类值
<body>
  <div id="jirengu" class="bar">haha</div>
  <script>
    var newDiv=document.getElementById('jirengu');
    console.log(newDiv.classList.toggle('foo',2>1));
  </script>
</body>
图片.png
图片.png

(5)

//检查元素的类属性中是否存在指定的类值
<body>
  <div id="jirengu" class="bar">haha</div>
  <script>
    var newDiv=document.getElementById('jirengu');
    console.log(newDiv.classList.contains('foo'));
  </script>
</body>
图片.png

如何判断一个元素的 class 列表中是包含某个 class?

法一:for循环再通过item(number)判断某个class是否存在某个class列表中
法二:通过contains(string)判断某个class是否存在某个列表中

如何添加一个class?如何删除一个class?

newDiv.classList.add("foo");//添加foo类
newDiv.classList.toggle("foo")//删除foo类

题目7: 如何选中如下代码所有的li元素? 如何选中btn元素?

<body>
  <div class="mod-tabs">
       <ul>
           <li>list1<li>
           <li>list2<li>
           <li>list3<li>
       </ul>
       <button class="btn">点我</button>
  </div>
  <script>
    //法一:
    var lis=document.getElementsByTagName('li');//li列表类数组
    var Btn=document.getElementsByClassName('btn')[0];//选中btn元素
    //法二:
    var lis=document.querySelectorAll('li');//li列表类数组
    var Btn=document.querySelector('.btn');//选中btn元素
  </script>
</body>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本介绍 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且...
    草鞋弟阅读 480评论 0 0
  • 题目1: dom对象的innerText和innerHTML有什么区别? innerText是一个可写属性,返回元...
    Taaaaaaaurus阅读 216评论 0 1
  • 题目1: dom对象的innerText和innerHTML有什么区别? innerText是一个可写属性,返回元...
    QQQQQCY阅读 203评论 0 0
  • 题目1: dom对象的innerText和innerHTML有什么区别? innerText :返回元素内包含的文...
    saintkl阅读 211评论 0 0
  • 1.感谢佳慧,帮我一起拿着东西去做液相,在我做液相时帮我看着旋蒸,晚上帮我接水,怕我做实验太晚一个人回去,在实验室...
    指函数的力量阅读 260评论 0 0