HTML5HTML5

HTML5之新增Dom语法

2017-04-27  本文已影响30人  Rella7

jQuery中我们可以通过选择器快速获取元素,这些新的选择器,在html5中提供了一个类似的方法

querySelector方法

返回当前文档中第一个匹配特定选择器的元素

var node = document.querySelector(css选择器);

querySelectorAll

返回当前文档中所有匹配特定选择器的元素(返回值是数组)

var nodeLists = document.querySelectorAll(css选择器);

classList

这个元素返回的是dom元素的class 列表,这个属性本身是只读的,但是我们可以通过几个方法去操作元素的class

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>html5新增dom操作语法</title>
    <style type="text/css">
        .top{
            width: 100%;
            height: 100px;
            background-color: red;
        }
        .pink{
            border: 10px solid pink;
        }
    </style>
</head>
<body>
    <header class="pink yellow"></header>
    <input type="button" name="" onclick="changeColor()">
    <script type="text/javascript">
    

        function changeColor() {
            // 选择器的方式
            // 获取元素
            var dom = document.querySelector("header");

            // 测试classList属性的方法
            // 添加class
            dom.classList.add("top");
            // 移除class
            dom.classList.remove('pink');
            // 判断是否含有class
            alert(dom.classList.contains('orange'));
            // 如果有class 删除 如果没有class 添加
            dom.classList.toggle('pink');
        }
    </script>
</body>
</html>

H5_data*属性

data-*这个属性解决了自定义Html标签内属性取值的问题,只要我们想,可以往HTML标签中添加任意个数的属性

<ul>
<li data-animal-type="bird">Owl</li>
<li data-animal-type="fish">Salmon</li> 
<li data-animal-type="spider">Tarantula</li> 
</ul>

// 假定有这么一个元素
<li data-type="bird" id="liObj">Owl</li>
<li data-animal-type="spider" id="liObj2">蜘蛛</li>
<script>
    var domObj = document.getElementById("liObj");
   var type = domObj.dataset["type"]
   
    var domObj2 = document.getElementById("liObj2");
   var type2 = domObj.dataset["animalType"]
</script>
上一篇下一篇

猜你喜欢

热点阅读