原生JavaScript和jQuery操作DOM元素总结

        DOM(Document Object Model)即文档对象模型。通常,浏览器将HTML或XML文档转化成一个对象模型的集合(即DOM树),JavaScript便可以对DOM节点进行操作以达到预期效果,以下总结了原生JS与Jq操作DOM节点的方法。

①原生JS对DOM节点

  • Node类型(基类)

nodeType:节点类型,若为元素则值为1;

nodeName,nodeValue:对于元素节点,nodeName为标签名,nodeValue为null;

firstChild,lastChild:选取元素节点的第一个子节点或最后一个子节点;

appendChild(a),insertBefore(a):在元素节点最后或起始插入子节点a;

removeChild(a):移除子节点a;

replaceChild(a,b):将元素节点下的子节点b替换为新节点a;

  • document类型(document_node)

document.documentElement属性指向html标签元素

document.body属性指向body标签元素

getElementById( ):通过id获取元素;

getElementsByTagName( ):通过标签名获取元素;

getElementsByName( ):通过name获取元素;

getElementsByClassName( ):通过class名称获取元素;

  • element类型(element_node)

tagName:元素标签名;

id:ID名;

className:class名;

getAttribute(a):获得a属性的值;

setAttribute(a):设置a属性的值;

removeAttribute(a):清除a属性的值;

createElement(tag):创建标签名为tag的元素;

  • text类型(text_node)

createTextNode(text):创建内容为text的文本节点;

  • documentfragment类型(document_fragment_node)

createDocumentFragment():创建虚拟节点,该虚拟节点中构建一个离散DOM块,最后添加到需要位置;

示例:点击按钮生成一个div,并显示第n个段落,n跟随个数变化

            html

                <div id='btntake'>
<button οnclick="divAdd()">点击添加</button>

</div>

           js

             var 1;

              var btn document.getElementById('btntake');

              function divAdd(){

                  var oFragment document.createDocumentFragment();

                     var odiv document.createElement('div');

                     var otext document.createTextNode(''+'个段落');

                     odiv.className 'blue background';

                     odiv.appendChild(otext);

                     oFragment.appendChild(odiv);

                  btn.appendChild(oFragment);

                  p++;

              };

②Jq对DOM节点

  • 在元素内部插入节点

append():元素内部追加内容,如$(‘#B’).append(‘< p >A< /p >’); //idB的元素中追加一个段落;

prepend():元素内部前置内容,如$(‘#B’).prepend(‘< p>A< /p>’);idB的元素内容前添加一个段落;

  • 在元素外部插入节点

after():在元素后边插入内容,如$(‘#B’).after(‘< p >A< /p >’); //idB的元素后面添加一个段落;

before():在元素之前插入内容,如$(‘#B’).before(‘< p >A< /p >’); //idB的元素前面添加一个段落;

  • 删除、复制和替换节点

empty():删除元素中的子节点,并不删除该元素;

remove():删除整个元素;

clone(true/false):克隆匹配元素,true时复制所有元素及其事件处理,false时仅复制匹配元素不复制事件;

replaceWith():替换元素


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值