文件命名为:querySelector.html,可在Chrome浏览器中预览效果。

1 <!DOCTYPE html>

2 <html lang="en">

3 <head>

4     <meta charset="UTF-8">

5     <title>使用HTML5的JS选择器操作页面中的元素</title>

6 </head>

7 <body>

8     <div>

9         <!--信息输入标签-->

10         <h2>兴趣爱好:<label></label></h2>

11         <!--复选框列表-->

12         <input type="checkbox" id="c1"><label for="c1">篮球</label>

13         <input type="checkbox" id="c2"><label for="c2">唱歌</label>

14         <input type="checkbox" id="c3"><label for="c3">游泳</label>

15         <input type="checkbox" id="c4"><label for="c4">桌球</label>

16         <br><br>

17         <button>获取兴趣爱好</button>

18     </div>

19

20     <script>

21         //监听获取按钮的点击事件

22         document.querySelector('button').addEventListener('click',function(e){

23             //按钮默认事件

24             e.preventDefault();

25             //获取所有选中的复选框

26             var checked = document.querySelectorAll('input:checked'),

27             results = [];//结果数组

28             //将元素列表转化为数组

29             checked = Array.prototype.slice.call(checked);

30             //循环数组,获取选中的值

31             checked.forEach(function(item){

32                 var id = item.getAttribute('id'), //获取复选框id

33                 label = document.querySelector('label[for="'+ id +'"]'); //根据id获取对应label元素

34                 results.push(label.innerHTML); //将数值推入数组

35             });

36             document.querySelector('h2 > label').innerHTML = results.join(',');//设置显示标签内容

37         });

38     </script>

39 </body>

40 </html>

示例中,第22、26、33、36行分别使用了元素选择器、伪类选择器、属性选择器和子元素选择器。

使用HTML5的JS选择器操作页面中的元素的更多相关文章

  1. 使用HTML5的JavaScript选择器操作页面中的元素

    <!doctype html><html lang="en"> <head>     <meta charset="UTF-8& ...

  2. js Dom为页面中的元素绑定键盘或鼠标事件

    html鼠标事件 onload 页面加载 onclick 鼠标单击 onmouseover 鼠标移入 onmouseout 鼠标移出 onfocus 获取焦点 onblur 失去焦点 onchange ...

  3. JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )

    1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...

  4. 如何使用Web3.js API 在页面中进行转账

    本文介绍如何使用Web3.js API 在页面中进行转账,是我翻译的文档Web3.js 0.2x 中文版 及 区块链全栈-以太坊DAPP开发实战 中Demo的文章说明. 写在前面 阅读本文前,你应该对 ...

  5. 控制使用jquery load()方法载入新页面中的元素

    最近在项目中用到jquery的load()方法来加载页面,首先简单说一下load()方法. load(url,data,callback);该方法接收三个参数,第一个是载入的页面地址,第二个是要传到服 ...

  6. Js脚本选取iframe中的元素

    遇到个小问题,需要用到原生Js处理页面中的元素,以往一个document.getElementById就完活的选取元素,这次却不好使了.. 仔细看代码发现要选取元素外面多了一个iframe标签 < ...

  7. 使用jquery操作iframe中的元素

    使用jquery操作iframe中的元素<iframe src="/test/demo.htm" width="99%" height="300 ...

  8. Js/Jquery获取iframe中的元素

    转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...

  9. 在浏览器中使用jquery取得iframe中页面中指定元素的值的不同

    自己使用aspx页面中嵌套了ascx的页面其中使用了iframe的一些内容,出现了同一个页面的两种取值的方式 1. 在iframe的包含页面,需要使用iframe的页面中的元素,是需要使用$(wind ...

随机推荐

  1. struts2不兼容servlet、COS

    如果你在一个项目中使用了struts2,也就是说,你在web.xml中配置了如下代码: <filter> <filter-name>struts2</filter-nam ...

  2. 资源 之 4.4 Resource通配符路径 ——跟我学spring3

    4.4.1  使用路径通配符加载Resource 前面介绍的资源路径都是非常简单的一个路径匹配一个资源,Spring还提供了一种更强大的Ant模式通配符匹配,从能一个路径匹配一批资源. Ant路径通配 ...

  3. @Factory和@DataProvider的区别

    DataProvider: A test method that uses DataProvider will be executed a multiple number of times based ...

  4. RTC硬件时钟设置修改【转】

    转自:http://os.chinaunix.net/a2008/0526/981/000000981211.shtml 这两天一直在做i2c设备驱动的理解,所以很少更新文章. 由于对于表计来说,RT ...

  5. 《c程序设计语言》读书笔记--闰年和字符输入不用 && ||

    #include <stdio.h> #include <string.h> #define sta 1500 #define Num 1600 int main() { in ...

  6. [CFGym101061G] Repeat it(逆元)

    题目链接:http://codeforces.com/gym/101061/problem/G 题意:给一个数字n,让你重复m次,求最后这个数对1e9+7取模的结果. 思路:设数字n长度为k,重复m次 ...

  7. hadoop环境搭建笔记

    一.配置Linux (1)cat /etc/networks (2)cat /etc/sysconfig/network (3)vi /etc/udev/rules.d/70-persistent-n ...

  8. 【Python】如何安装easy_install?

    [Python]如何安装easy_install? http://jingyan.baidu.com/article/b907e627e78fe146e7891c25.html easy_instal ...

  9. 用Visio画UML顺序图

    1.顺序图 顺序图又称为时序图,顾名思义,它着重表现的是对象间消息传递的时间顺序.顺序图描述的对象也是一个用例,即一组行为操作,而它表现的是这组行为的先后关系(纵坐标),以及每个行为是属于哪个对象的( ...

  10. HDU 1564 (博弈) Play a game

    这道题的答案猜也很好猜出来,但是想太难想了..题解一贴,然后闪人.. 请戳这