美文网首页
一些DOM小操作

一些DOM小操作

作者: 怎么昵称 | 来源:发表于2017-08-04 18:59 被阅读0次

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

innerText是一个可写属性,返回元素内包含的文本内容,在多层次的时候会按照元素由浅到深的顺序拼接其内容。

innerText 从起始位置到终止位置的内容, html标签都被转义后保存.

简单场景:如果输入框中有标签的话,可以用innerText转义,获取内容

innerHTML属性作用和innerText类似,但是不是返回元素的文本内容,而是返回元素的HTML结构,在写入的时候也会自动构建DOM。

innerHTML 获取从对象的起始位置到终止位置的全部内容,包括Html标签

参考文

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

children是Element的属性,childNodes是Node的属性,

  1. children:
    非标准的,它返回指定元素的子元素集合。经测试,它只返回HTML节点,甚至不返回文本节点
 <div id="open">
    <h1>这是一张图</h1>
    <img src="" alt="img">
    <button>open</button>
  </div>
  
var open= document.getElementById('open');
var d=open.children;
for(var i=0; i<d.length;i++){
     console.log(d[i])
}
输出:
 <h1>​这是一张图​</h1>​
<img src="" alt=​"img">​
 <button>​open​</button>​
  1. childNodes:
    标准的,返回指定元素的子元素集合,包括HTML属性,所有属性,文本。可以通过nodeType来判断是哪v 种类型的节点
var open= document.getElementById('open');
var d=open.childNodes;
    for(var i=0; i<d.length; i++){
         console.log(d[i])      
    }

 <h1>​这是一张图​</h1>​
"hfhfhfhdhjshdfkshfksh"
 <img src(unknown) alt=​"img">​
 <button>​open​</button>​
节点类型 NodeType
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

补充:
 Node(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等,通过NodeType区分,常见的有:

节点类型 NodeType
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

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

document.getElementById()//返回特定的id名的元素
document.getElementByClassName() //返回文档中所有指定类名的元素集合,作为 NodeList 对象。
document.getElementByTagName()//获取所有指定标签的元素
document.getElementByName()//获取所有指定name属性值的元素

ES5 元素选择方式:

document.querySelector() //返回匹配指定条件的第一个元素,,

document.querySelectorAll()//返回符合指定条件的所有元素,得到一个NodeList对象

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

var node= document.createElement(' 标签名称 ');//创建一个html节点

node.setAtrribute('属性名','设置的属性值') //设置属性

node.removeAtrribute('属性名')

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

<div id="open">
   <h1>这是一张图</h1>
   <button>open</button>
 </div>
//div末尾添加一个p标签
var node = document.querySelector('div')//现获取要添加元素的标签
var p= document.createElement('p');//创建一个新的段落元素
 node.appendChild(p)  //添加子元素
输出结果:
<div id="open">
   <h1>这是一张图</h1>
   <button>open</button>
   <p></p>  
 </div>

删除子元素过程:

var node= document.querySelector(div)  //获取要删除子元素的元素
var p= document.getElementByTagName(p)  // 获取删除的元素
node.removeChild(p)  // 删除操作

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

var img= document.querySelector('images');

img.classList() //查看img元素的类名,返回一个数组
img.classList.add('active') //添加类名
img.classList.remove('active') //删除类名
img.classList.contains('active')//是否包含active类名,返回true ,则是包含, 返回false,为不包含

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

<div class="mod-tabs">
<ul>
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<button class="btn">点我</button>
</div>

注意: querySelectorAll('参数') //要求参数是字符串

var list= document.querySelectorAll('li') //获取所有li
console.log(list)

var btn1=document.getElementByClaaName('btn')
console.log(btn1)

相关文章

  • 一些DOM小操作

    题目1: dom对象的innerText和innerHTML有什么区别? innerText是一个可写属性,返回元...

  • DOM常用API

    Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作...

  • JS DOM操作

    DOM及其基础操作DOM:document obiect model 文档对象模型,提供一些属性和方法供我们操作页...

  • Vue基础

    抛开手动操作DOM的思维,因为Vue.js是数据驱动的,无需手动操作DOM。它通过一些特殊的HTML语法,将DOM...

  • JQuery 17

    jQuery中的DOM操作 DOM操作的分类 DOM操作分为3个方面,即DOM Core(核心)、HTML-DOM...

  • 4 微信小程序基础使用篇2

    微信小程序中没有dom结构,所以操作dom元素从而改变样式,进行逻辑操作也无从谈起,小程序巧妙使用的“数据绑定”/...

  • WEB相关

    zBase -- 轻量级 DOM 操作库 没有任何依赖轻量级的 Dom 操作库,封装一些常用的 css 选择器和事...

  • DOM (javascript DOM节点操作)

    DOM (javascript DOM节点操作) 本节目录 查找DOM元素 DOM节点操作 javascript操...

  • Vue解决了哪些问题

    虚拟 dom:dom 操作时非常耗性能的,不再使用原生的 dom 操作节点,极大的解放 dom 操作,但具体操作的...

  • vue进阶语法

    自定义指令 指令用于简化DOM操作,相当于对基础DOM操作的一种封装 使用一些内置指令不具备的DOM功能时,可以进...

网友评论

      本文标题:一些DOM小操作

      本文链接:https://www.haomeiwen.com/subject/bpxblxtx.html