首页 > 代码库 > Html5 Selectors API

Html5 Selectors API

新QuerySelector方法

querySelector():根据指定的选择规则,返回在页面中找到的第一匹配元素

querySelectorAll():根据指定规则返回页面中所有相匹配的元素

实例:

 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2   <head>
 3     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 4     <title>Selectors API Example</title>
 5     <style>
 6         .green{background-color:green; }
 7     </style>
 8   </head>
 9   <body>
10         <div id="d1">
11             <p><a href="http://www.sina.com.cn">SINA</a></p>
12             <input type=‘text‘ value=‘lingyibin‘ id=‘test‘/>
13             <input type=‘text‘ value=‘jasonling‘ id=‘test2‘ disabled />
14             <span class=‘testSpan‘> 这里是span的地盘! </span>
15             <ul>
16                 <li>111</li>
17                 <li class=‘2‘>222</li>
18                 <li>333</li>
19             </ul>
20             <span><label>label000</label></span>            
21             <label>label111</label>
22         </div>
23         <label>label222</label></br>
24         <label>label333</label></br>
25         <label>label444</label></br>
26         
27         <script type="text/javascript">  
28             //alert(document.querySelector(‘div a‘)); // -> http://www.sina.com.cn/
29             //alert(document.querySelector(‘div a‘).innerHTML); // -> SINA
30             //alert(document.querySelectorAll(‘div a‘).length); // -> 1 
31             //alert(document.querySelectorAll(‘div a‘)[0]); // -> http://www.sina.com.cn/
32             //alert(document.querySelector(‘#test‘).value); // -> lingyibin 
33             //alert(document.querySelector(‘input:disabled‘).value); // -> jasonling 
34             //alert(document.querySelector(‘span:not(label)‘).innerHTML); // -> jasonling 
35             //alert(document.querySelectorAll(‘input[id^=test]‘)[1].value); // -> jasonling //以test开头的
36             //alert(document.querySelectorAll(‘input[id$=t2]‘).length); // -> 1 //以test结尾的,注意,id$=2就会错,不能以数字开头
37             //alert(document.querySelectorAll(‘input[id*=est]‘).length); // -> 2 //模糊匹配
38             //alert(document.querySelector(‘.testSpan‘).innerHTML); // -> 这里是span的地盘!
39             //alert(document.querySelector(‘ul li:nth-child(2)‘).innerHTML); // -> 222
40             //alert(document.querySelectorAll(‘ul li:nth-child(3n)‘)[0].innerHTML); // -> 333
41             //alert(document.querySelectorAll(‘ul li:nth-child(odd)‘)[1].innerHTML); // -> 333
42             //alert(document.querySelector(‘ul li:first-child‘).innerHTML); // -> 111
43             //alert(document.querySelector(‘ul li:last-child‘).innerHTML); // -> 333
44             //alert(document.querySelectorAll(‘li[class]‘)[0].innerHTML); // -> 222 //有class属性的li
45             //alert(document.querySelectorAll(‘div label‘)[0].innerHTML); // -> label000 //得到div里面所有的label
46             //alert(document.querySelectorAll(‘div > label‘)[0].innerHTML); // -> label111 //得到div里面的直接label,在本例中只有一个
47             //alert(document.querySelectorAll(‘div + label‘)[0].innerHTML); // -> label222 //注意,这里只能得到一个label
48             //alert(document.querySelectorAll(‘div ~ label‘)[1].innerHTML); // -> label333
49         </script>
50 
51   </body>
52 </html>
html5