首页 > web前端 > js教程 > 正文

js中DOM知识点分享

小云云
发布: 2018-03-14 16:41:24
原创
1605人浏览过

1、childNodes和nodeType 

childnodes获取子节点,但是会把中一个标签与另一个标签的空格当做文本节点来计算。nodetype判断一个节点是什么类型的节点。只有当nodetype==1时才是元素节点,2是属性节点,3是文本节点。
2、children获取子节点,它只返回html节点,甚至不返回文本节点,虽然不是标准的dom属性,但它和innerhtml方法一样,得到了几乎所有浏览器的支持。
3、offsetparent获取该节点有定位的父元素节点。
4、firstchild()和firstelementchild(),有兼容问题,使用if来处理兼容问题。其余lastchild等的也是和这个相类似。
5、使用dom来获取元素属性,使用setattribute(‘要设置的属性’,‘设置属性的值’),removeattribute(名称),getattribute(名称),基本不常用。但也有必须用的情况。
6、使用classname来选择元素,可以封装一个简单的方法,现在这个是低版本的,没有bug,但是有很强的局限性

<!DOCTYPE html><html>
    <head>
        <meta charset="UTF-8">
        <title></title>     
    </head>
    <body>
        <p id="p1">
            <ul>
                <li class="box"></li>
                <li></li>
                <li></li>
                <li class="box"></li>
                <li class="box"></li>
                <li></li>
                <li></li>
                <li class="box"></li>
            </ul>
        </p>
    </body>
    <script>
        function getByClass(oParent,sClass){
            //*号代表通配符
            var aResult=[];            var aEle = oParent.getElementsByTagName('*');            for(var i=0;i<aEle.length;i++){                if(aEle[i].className==sClass){
                    aResult.push(aEle[i]);
                }               
            }            return aResult;
        }        var p1 = document.getElementById('p1');        var aBox = getByClass(p1,'box');        for(var i=0;i<aBox.length;i++){
            aBox[i].style.backgroundColor='red';
        }    </script></html>
登录后复制

7、创建节点比如论坛功能
一定要把创建好的节点加入到他的父元素下面
creatElement()创建节点
appendChild()将创建好的节点添加到他的父元素之前
insertBefore()在某个节点之前插入
removeChild()删除某个节点

<!DOCTYPE html><html>
    <head>
        <meta charset="UTF-8">
        <title>创建节点</title>
        <script>
            window.onload=function(){
                var oUl = document.getElementById('oUl');                var oBtn = document.getElementById('btn');                var input1 = document.getElementById('input1');                var aLi = document.getElementsByTagName('li');
                oBtn.onclick=function(){
                    var oLi = document.createElement('li');                 
                    oLi.innerHTML=input1.value;                    if(aLi.length>0){
                        oUl.insertBefore(oLi,aLi[0]);
                    }else{
                        oUl.appendChild(oLi);
                    }
                }
            }        </script>
    </head>
    <body>
        <p>
            <input id="input1" type="text" />
            <input id='btn' type="button" value="创建" />
            <ul id='oUl'>
            </ul>
        </p>
    </body></html>
登录后复制

 相关推荐:

使用DOM的一些小结

深入JavaScript之DOM的高级应用

原生JavaScript对dom节点操作总结

以上就是js中DOM知识点分享的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号