JS操作DOM

JS操作DOM

什么是DOM:既Document Object Model(文档对象模型),DOM是一个使程序和脚本有能力动态访问和更新文档的内容,结构以及样式的平台和语言中立的接口。

DOM节点分为三大类:元素节点,属性节点,文本节点

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<section id="news">
    <header>喜报</header>
    <ul>
        <li><a href="">a</a></li>
        <li><a href="">b</a></li>
        <li><a href="">c</a></li>
        <li><a href="">d</a></li>
        <li><a href="">e</a></li>
        <li><a href="">f</a></li>
    </ul>
</section>
<script>
    /*
    * console.log:用来调试打印对象,可以打印所有东西
    * document.write:只能写入Html元素
    * [object Text]:文本对象,无法直接写入网页中,会出现一个未定义
    * [object HtmlElement]:网页元素对象,可以直接调用innerHtml写入网页中
    *
    * */
    var obj=document.getElementById("news");
    console.log(obj);
    document.write(obj.innerHTML);




</script>
</body>
</html>

2.获取节点属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul id="NodeList">
    <li>AAAAAA</li>
    <li>BBBBBB</li>
    <li>CCCCCC</li>
</ul>
<script>

    function test() {
        var nodes=document.getElementById("NodeList");
        var typel=nodes.firstChild.nodeType;
console.log(typel);
var name=nodes.firstChild.nodeName;
console.log(name);
var value=nodes.firstChild.nodeValue;
console.log(value);

    }

</script>

<input type="button" onclick="test()" value="打印">
</body>
</html>

3.获得节点的数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="#" id="tt">123</a>
<script>
    var t=document.getElementById("tt").getAttribute("href");
    document.getElementById("tt").setAttribute("href","https://www.baidu.com");
    document.getElementById("tt").setAttribute("style","border:2px dashed yellow");
    console.log(t);

</script>


</body>

</html>

4.创建动态插入节点属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            font-size: 20px;
            font-family: "微软雅黑";
            line-height: 30px;
        }
        div{
            padding: 5px;
            text-align: center;
        }

    </style>

</head>
<body>
<p>选择你喜欢的图片
    <input type="radio" name="superstar" onclick="people()">杜兰特
    <input type="radio" name="superstar" onclick="people()">詹姆斯
</p>
<div></div>
<script>

    function people() {
        var ele=document.getElementsByName("superstar")
        var ble=document.getElementsByTagName("div")[0];
if (ele[0].checked){
    var img=document.createElement("img");
    img.setAttribute("src","../images/1.jpg");
    img.setAttribute("alt","杜兰特");
    ble.appendChild(img);
}
        if (ele[1].checked){
            var img=document.createElement("img");
            img.setAttribute("src","../images/2.jpg");
            img.setAttribute("alt","詹姆斯");
            ble.appendChild(img);
        }
    }
    

</script>

</body>
</html>

5.替换和删除

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            padding: 0px;
            margin: 0px;
            font-size: 20px;
        }
        ul li{
            list-style: none;
        }
        li{
            float: left;
            text-align: center;
        }
    </style>
</head>
<body>
<ul>
    <li>
        <img src="../images/1.jpg" alt="杜兰特" id="first">
        <p><input type="button" value="删除键" onclick="del()"></p>
    </li>
<li>
    <img src="../images/2.jpg" alt="詹姆斯" id="second">
<p><input type="button" value="替换" onclick="rep()"></p>
</li>
</ul>
<script>
    function del() {
        var delImg=document.getElementById("first");
        delImg.parentNode.removeChild(delImg);
    }
    function rep() {
        var oldImg=document.getElementById("second");
        var newImg=document.createElement("img");
        newImg.setAttribute("src","../images/1.jpg");
        oldImg.parentNode.replaceChild(newImg,oldImg);
    }
</script>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值