众多javascript库中最常用的一项功能,就是根据css选择符选择与某个模式匹配的DOM元素。之前由于对javascript的认识较低,对javascript对DOM操作还停留在getElementById()和getElementsByTagName上,对类的获取不得不强行封装一个函数,比如

function getElementByClassName(TagName,classname){
var tags=document.getElementsByTagName(TagName);
var list=[];
for(var i in tags)
{
var tag=tags[i];
if(tag.className==classname){list.push(tag);}
}
return list;
}
因此在实际开发过程中还是比较麻烦的。今天接触到DOM扩展中的Selector API感觉像是发现了新世界的大门。

selector API是由W3C发起指定的一个标准,致力于让浏览器原生支持css查询。核心方法就是:querySelector()和querySelectorAll().操作起来也比较简单。

querySelector()方法

querySelector()方法接收一个css选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,则返回null。请看下面的例子。

//取得body元素
var body = document.querySelector("body"); //取得id为"text"的元素
var text = document.querySelector("#text"); //取得类名为“selected”的元素
var selected = document.querySelector(".selected"); //取得类为“button”的第一个图片元素
var img = document.body.querySelector("img.button");

querySelectorAll()方法

querySelecyorAll()方法接收的参数与querySelector方法一样,都是一个css选择符,但是返回的是所有匹配的元素而不仅仅是一个元素。这个方法返回的是一个NodeList实例。看下面的例子。

//取得某div中的所有<p>元素。
var p = document.getElementById("myDiv").querySelectAll("p"); //取得类为“selected”的所有元素
var selecteds = document.querySelectorAll(".selected");

  但是因为获取的是一个数组的形式,因此要操作数组中的每一个元素,可以使用item()方法或者方括号语法 比如:

var i, len, selected;
for(i=0;i<selecteds.len,i++){
selected = selecteds[i]; //或者selecteds.item(i);
selected.style.backgroundColor = "red";
}

第一篇随笔,一步一个脚印,嗯哼!

关于javascript dom扩展:Selector API的更多相关文章

  1. DOM扩展-Selectors API(选择符 API)、元素遍历

    DOM扩展 对DOM的两个主要扩展是SelectorsAPI(选择符API)和HTML5 SelectorsAPI(选择符API)是由W3C发起制定的一个标准,致力于浏览器原生支持CSS查询,Sele ...

  2. javascript DOM扩展querySelector()和和querySelectorAll()

    选在符的API的核心有两个方法:querySelector()和querySelectorAll() querySelector(a):a是一个css选择符,返回与该模式匹配的第一个元素,如果没有匹配 ...

  3. JavaScript DOM位置尺寸API

    我们需要了解几个基础概念,每个HTML元素都有下列属性 offsetWidth clientWidth scrollWidth offsetHeight clientHeight scrollHeig ...

  4. DOM扩展札记

    Selector API HTML5 DOM扩展 Element Traversal规范 Selector API 众多JavaScript库中,最常用的一个功能就是根据css选择符选择与某个模式匹配 ...

  5. 《JAVASCRIPT高级程序设计》DOM扩展

    虽然DOM为XML及HTML文档交互制定了一系列的API,但仍然有几个规范对标准的DOM进行了扩展.这些扩展中,有很多是浏览器专有的,但后来成了事实标准,于是其他浏览器也提供了相同的实现:浏览器开发商 ...

  6. JavaScript基础笔记(八)DOM扩展

    DOM扩展 一.选择符API Selectors API是由W3C发起制定的一个标准,致力于让浏览器原生支持CSS查询. 一)querySelector() 在Document和Element类型实例 ...

  7. DOM扩展:DOM API的进一步增强[总结篇-上]

    DOM1级主要定义了文档的底层结构,并提供了基本的查询操作的API,总体而言这些API已经比较完善,我们可以通过这些API完成大部分的DOM操作.然而,为了扩展DOM API的功能,同时进一步提高DO ...

  8. js学习笔记----JavaScript中DOM扩展的那些事

    什么都不说,先上总结的图~   Selectors API(选择符API) querySelector()方法 接收一个css选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null ...

  9. DOM扩展:DOM API的进一步增强[总结篇-下]

    本文承接<DOM扩展:DOM API的进一步增强[总结篇-上]>,继续总结DOM扩展相关的功能和API. 3.6 插入标记 DOM1级中的接口已经提供了向文档中插入内容的接口,但是在给文档 ...

随机推荐

  1. mongodb常用命令【转】

    mongodb由 C++编写,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-performance, ...

  2. ios7控件特性(一)

    苹果发布iOS7之后,iOS7全部采用扁平化的界面,我们的app界面在iOS7上出现了很大的改变,这包括UINavigationBar,UIButton,UIActionSheet,UITabBar等 ...

  3. css学习笔记一

    1.在css开头用* {margin:0;padding:0;}可以清除所有样式 2.在css中table,th,td {padding:0;}效果等同于cellpadding="0″. 3 ...

  4. struts2+jsp+jquery+Jcrop实现图片裁剪并上传

    <1> 使用html标签上传需要裁剪的大图. <2> 在页面呈现大图,使用Jcrop(Jquery)对大图进行裁剪,并且可以进行预览. <3> 选择好截取部分之后发 ...

  5. JAVA的节点流和处理流以及流的关闭顺序

    今天在编写hadoop程序的时候,用到了流的处理.关闭流的时候出现了问题: 代码: FSDataInputStream fsin = fs.open(new Path(filein)); FSData ...

  6. char类型关联

    SQL> create table a1(id int,name char(10)); Table created. SQL> create table a2(id int,name ch ...

  7. 根据rowid回表

    select rowid from T_PM_DEPOSIT_HIS partition(DEPOSIT_HIS_20120104) ; SQL> set linesize 200 SQL> ...

  8. WordPress Event Easy Calendar插件多个跨站请求伪造漏洞

    漏洞名称: WordPress Event Easy Calendar插件多个跨站请求伪造漏洞 CNNVD编号: CNNVD-201309-083 发布时间: 2013-09-11 更新时间: 201 ...

  9. Delphi调试CGI或ISAPI 转

      因为dll文件已驻留内存,可用intrabob进行调试,也可用PWS进行调试,不过要换文件. IntraBob是资深程序员Dr.Bob编写的免费工具软件,用于测试Delphi编写 的CGI/Win ...

  10. LoadRunner的场景设置

    loadrunner场景设置的方法: 1.逐步增加用户数,分多次去运行场景.比如:第一次运行50并发,第二次运行100并发…… 2.针对同一个脚本设置多个组,使用组策略(点击Edit Schedule ...