博客列表 >CSS选择,简单快捷的获取页面元素

CSS选择,简单快捷的获取页面元素

Serendipity-Ling
Serendipity-Ling原创
2017年12月19日 23:05:14790浏览

      querySelector()//querySelectorAll()是一种很方便的在页面中选取元素的方法. 前者只返回页面中第一个匹配的元素(以文档顺序),而后者可以选取页面中所有匹配的元素。

       1.首先,我们来回顾一下DOM定义的其它几种选取元素的方式

        1.1 用指定的id属性

var id = document.getElementById('id');

         1.2 用指定的name属性

var name = document.getElementByName('name');

note:针对HTML文档可用,对xml文档不可用。在ie中,getElementByName()也返回id属性匹配指定值的元素,为了兼容,应该小心谨慎,不要让name和id同名。并且name属性只在少数html元素中有效,包括表单,表单元素,<iframe>和<img>元素。

        1.3 用指定的标签名字

var p = document.getElementByTagName('p')[i];
var allElement = document.getElementByTagName('*')  //传入通配符将获得一个代表文档中所有元素的节点(nodelist)
对象。

       1.4通过css类选取元素(html的class属性值)

var class = document.getElementByClassName('class')

       2 通过css选择器选取元素


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jq初体验</title>
    <style>
        body {
            margin: 0;
            padding: 0;
        }
     div{
         margin: 50px auto;
         width: 250px;
         height: 250px;
         text-align: center;
     }
     img {
         display: block;
         margin: 0 auto;
     }
        button {
            border-bottom: 1px solid black;
        }
    </style>
</head>
<body>
   <div>
       <img src="1.jpg" alt="" width="200">
       <button id="a">A</button>
       <button id="b">B</button>
       <button id="c" class="CC">C</button>
       <button id="d">D</button>
   </div>
   <script>

//       //querySelector(cssSelector) 和 querySelectorAll(cssSelector)
 var a = document.getElementById('a'); //获取a按钮(id方式)
 a.onclick = function () {
//           //用css选择器的方式来获取js对象[见图1]
 document.querySelector('img').style.borderRadius = '150px'
 }
       var b = document.getElementsByTagName('button')[1];//获取b按钮(标签方法)
 b.onclick = function () {
           //选取了第一个匹配的button元素,将a按钮变蓝[见图2]
 document.querySelector('button').style.backgroundColor = 'blue'
 }
       var c = document.getElementsByClassName('CC')[0];//获取c按钮(class属性)
 c.onclick = function () {
                   //将c按钮文字变绿[见图3]
           document.querySelector('button[class]').style.color = 'green'
 }
       var d = document.getElementById('d')  //获取d按钮
 d.onclick = function () {
               //可以为所有的button循环添加样式,省去了遍历元素[见图4]
           var btn  = document.querySelectorAll('button')
           var len  =btn.length;
 for (var i=0; i<len; i++ ){  
               btn[i].style.backgroundColor = 'red'
 }
       }

   </script>

</body>
</html>

原网页:1.png

图1:2.png

图2:3.png

图34.png

图4:5.png



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议