原生javascript DOM操作

原生javascript DOM操作

1.创建元素
创建元素:document.createElement()
创建文本节点 :document.createTextNode()
创建文档碎片:document.createDocumentFragment() ,所有的操作是在内存中进行的
 
  为了避免重绘和回流:咱们插入dom时可采用createDocumentFragment,最后一次性的再添加到页面的dom中
    //先创建li,然后插入到ul中
    var oul=document.querySelector('.list')
    //先创建一个文档碎片
    var fragment=document.createDocumentFragment();
   for(var i=0;i<100;i++) {
        var newLi=document.createElement('li');
        newLi.textContent=`项目${i+1}` 
        fragment.appendChild(newLi)  //已经将100个li添加到fragment上了

   }

   oul.appendChild(fragment);
2.删除元素
removeChild
removeAttributeNode
parent.removeChild  有返回值,其返回值未被完全删除还* 能进行其他操作(如插入操作)
ele.remove    完全删除
3.修改元素
父节点.appendChild(子节点)  尾追加
父节点.insertBefore(新节点,参考节点) 前追加
父级节点.removeChild(要删除的子级节点) 移除节点
replaceChild(新节点,旧节点)  替换节点
4.查找元素
getElementById()  获取id ,如果页面上有多个相同id,只返回第一个
getElementsByTagName() 获取标签名 返回是类数组
getElementsByName()  获取表单中name名称  返回类数组
getElementsByClassName  只能获取class名称  返回类数组
querySelector  只获取匹配的第一个css选择器  //特别适合移动端
querySelectorAll  获取匹配的css选择器类数组 //特别适合移动端

//封装一个$
function $(selector) {
    return typeof selector==='string' ? document.querySelector(selector) : selector
}

节点关系

1、父节点:parentNode:是指定节点的父节点.一个元素节点的父节点可能是一个元素(Element )节点,也可能是一个文档(Document )节点,或者是个文档碎片(DocumentFragment)节点.

2、子节点:childNodes:childNodes 返回包含指定节点的子节点的集合

3、兄弟节点:nextSibling,previousSibling:nextSibling返回某节点的下一个兄弟节点,previousSibling返回某节点的上一个兄弟节点,没有的话返回null。

4、第一个或最后一个子节点:firstChild、lastChild

  • firstChild返回node的子节点中的第一个节点的引用,没有返回null
  • lastChild返回node的子节点中的最后一个节点的引用,没有返回null

@ cc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值