var imgs = document.querySelectorAll("article img");

获得article元素的直接或间接子孙的所有img元素,

<article>
<img src = "..." />
<div>
<img src = "..." />
</div>
</article>

  获取2个img元素。

另一个方法querySelector()只返回找到的第一个结果。

其他的获取元素的写法区别:

获取article直接子元素:var imgs = document.querySelectorAll("article> img");

获取紧跟在一个元素后面的所有某个元素: var imgs = document.querySelectorAll("img + p");

获取一个空属性的某个元素:  var imgs = document.querySelectorAll("img[alt='']");

获取属性不为空的某个元素: var imgs = document.querySelectorAll("img:not([alt=''])");

/*querySelectorAll()获取的元素集合不是“动态”的,如果更新发布在获取集合之后,页面所做的更新不会反映在集合之中,通常使用的getElementById() 效率更高*/

css样式设置(三种):

通过元素的style属性来修改:elem.style.backgroundColor = "red";

/*样式命名“驼峰”表示法,第二个单词大写*/

修改单个元素的一个或多个属性:

    elem.setAttribute("style","background-color:red;  color:white;  border:1px solid black");

预定义样式,设置元素的class属性:

 .stipe{
background-color:red;
color:white;
border:1px solid black;
}
....
elem.setAttribute("class","stripe");

对于获取某个元素属性值使用getAttribute(),

要访问一个元素在某一时刻的具体样式设置,比较复杂,也没太明白,这里先放一个例子,供以后参考:

var elem = document.getElementbyId("test");

var bkcolor = elem.currentStyle ? elem.currentStyle["backgroundColor"] :

        window.getComputedStyle(elem).getPropertyValue("background-color");

console.log(bkcolor);

  可以跨浏览器工作,以后接触到再重新研究一下!

js学习进阶-元素获取及样式设置的更多相关文章

  1. 每天一个JavaScript实例-展示设置和获取CSS样式设置

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. js函数arguments与获取css样式方法

    函数传参,当参数的个数不定时,可以使用arguments:表示实参集合 arguments.length=实参个数 获得css样式方法: getComputedStyle()方法---->得到的 ...

  3. js学习进阶-页面覆盖

    页面覆盖以显示一条信息,照片或者常见的登录,广告, 实例: <!DOCTYPE html> <html> <head> <meta charset=" ...

  4. js学习进阶中-bind()方法

    有次面试遇到的,也是没说清楚具体的作用,感觉自己现在还是没有深刻的理解! bind():绑定事件类型和处理函数到DOM element(父元素上) live():绑定事件到根节点上,(document ...

  5. JS学习进阶中 come on!

    1,定义新的属性来扩展对象 新方法:defineProperty() 实例: var data = {}: Object.defineProperty(data,"type",{ ...

  6. js兼容方法:获取当前样式|计算后样式 getStyle

    function getStyle(obj,attr){ if(obj.currentStyle){ //for IE return obj.currentStyle[attr]; }else{ re ...

  7. vue学习(九) 使用内联样式设置style样式

    /html <div id="app"> //对象就是无序键值对的集合 <h1 :style="{ color:red, 'font-weight':2 ...

  8. js学习笔记7----return,arguments及获取元素样式

    1.return:返回值 1)函数名+括号:fn() ===> return; 2) 所有函数默认返回值:undefind; 3) return后面所有的代码都不会执行; 2.arguments ...

  9. js 设置 获取css样式

    先看一段代码,为了体现一会下面说的js用style获取css样式的不同 一:给div设置margin-left(用style设置css样式没什么问题) box.style.marginLeft=&qu ...

随机推荐

  1. Android系统全貌 (转)

    转自Gityuan的Android开篇,对自我学习作进一步整理. Android系统以Linux内核作为基底,上层采用Native层和Java层.系统分为内核空间和用户空间,并通过系统调用(Sysca ...

  2. 【BZOJ-1146】网络管理Network DFS序 + 带修主席树

    1146: [CTSC2008]网络管理Network Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 3495  Solved: 1032[Submi ...

  3. javascript操作字符串的方法

    string.indexOf()//返回字符串中第一个与给定子串匹配的子串序号字符串的IndexOf()方法搜索在该字符串上是否出现了作为参数传递的字符串,如果找到字符串,则返回字符的起始位置 (0表 ...

  4. 关于SQL的相关笔记【长期更新,只发一帖】

    场景[1]多表联查时,主表与关联表同时与同一张(第三张表)有关联,类似三角恋关系- - 涉及表: HOUSE:记录了房屋信息 ROOMS:记录了房间信息 HOUSE_STATUS:记录了状态信息的中文 ...

  5. 网页上获取的元素值,为什么类型,string

    <body> <input type="text" value='9'/><input type="text" value='30 ...

  6. 关于entityframework 自动生成实体类中加验证的属性重新生成后属性被覆盖解决办法

    1.手动创建一个部分类 (你可以手动创建 partial class, 内容为空) [MetadataType(typeof(AppleMetadata))] public partial class ...

  7. php内部函数

    strpos函数 /** haystack:被比较字串首地址(指向被比较字符串) needle:源字串首地址(指向源字符串) needle_len:源字符串长度 end:指向最后一个字符地址的下一个内 ...

  8. vtk多线程简单测试

    vtkMultithreader is a class that provides support for multithreaded execution using sproc() on an SG ...

  9. Tiny Mapper

    今天看到一个对象映射工具-TinyMapper 1.介绍 Tiny Mapper是一个.net平台的开源的对象映射组件,其它的对象映射组件比如AutoMapper有兴趣的可以去看,Tiny Mappe ...

  10. tomcat server.xml中文版

    原文:http://www.blogjava.net/baoyaer/articles/107278.html Tomcat Server的结构图 该文件描述了如何启动Tomcat Server &l ...