js学习进阶-元素获取及样式设置
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学习进阶-元素获取及样式设置的更多相关文章
- 每天一个JavaScript实例-展示设置和获取CSS样式设置
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- js函数arguments与获取css样式方法
函数传参,当参数的个数不定时,可以使用arguments:表示实参集合 arguments.length=实参个数 获得css样式方法: getComputedStyle()方法---->得到的 ...
- js学习进阶-页面覆盖
页面覆盖以显示一条信息,照片或者常见的登录,广告, 实例: <!DOCTYPE html> <html> <head> <meta charset=" ...
- js学习进阶中-bind()方法
有次面试遇到的,也是没说清楚具体的作用,感觉自己现在还是没有深刻的理解! bind():绑定事件类型和处理函数到DOM element(父元素上) live():绑定事件到根节点上,(document ...
- JS学习进阶中 come on!
1,定义新的属性来扩展对象 新方法:defineProperty() 实例: var data = {}: Object.defineProperty(data,"type",{ ...
- js兼容方法:获取当前样式|计算后样式 getStyle
function getStyle(obj,attr){ if(obj.currentStyle){ //for IE return obj.currentStyle[attr]; }else{ re ...
- vue学习(九) 使用内联样式设置style样式
/html <div id="app"> //对象就是无序键值对的集合 <h1 :style="{ color:red, 'font-weight':2 ...
- js学习笔记7----return,arguments及获取元素样式
1.return:返回值 1)函数名+括号:fn() ===> return; 2) 所有函数默认返回值:undefind; 3) return后面所有的代码都不会执行; 2.arguments ...
- js 设置 获取css样式
先看一段代码,为了体现一会下面说的js用style获取css样式的不同 一:给div设置margin-left(用style设置css样式没什么问题) box.style.marginLeft=&qu ...
随机推荐
- VS2015中SharedProject与可移植类库(PCL)项目
转自:http://www.tuicool.com/articles/beaMZv3 今天闲里偷空看了点Connect大会的视频,C# 6.0的新语法.EF7的支持非关系型数据库.Windows商店应 ...
- css 通用reset,common
/*------------------------------------*\ $RESET \*------------------------------------*/ body, div, ...
- BZOJ3932: [CQOI2015]任务查询系统
传送门 真不知道我没学主席树之前是有什么勇气说自己高级数据结构以及学的七七八八了. 这道题应该也是算是主席树的经典运用. 刚开始脑抽了,想把(S,E,P)的处理直接在线用树状数组xjb搞搞算了.写完后 ...
- iframe自适应高度
http://wenrunchang123.iteye.com/blog/1684843
- C#基础强化-进程操作
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- Average Precision of VOC
转一篇文章,主要是关于VOC中Average Precision指标的 原文出处:https://sanchom.wordpress.com/tag/average-precision/ 还有一篇文章 ...
- vm.max_map_count
Virtual memoryedit Elasticsearch uses a hybrid mmapfs / niofs directory by default to store its indi ...
- ecshop随机分类
$get_categories_tree = get_categories_tree(); $smarty->assign('category_1', RandArray($get_catego ...
- Visual SVN 5.01 Po jie 笔记
最近搞项目要与几个同事一起coding,鉴于代码的合并和提交的问题,所以要搞个版本管理.由于是私有的项目,所以退git 求SVN了.装了乌龟和Visual SVN,才发现Visual SVN的客户端不 ...
- getElementsByClassName简单实现
function getElementsByClassName(node, className) { var aClassReg = className.split(' ').map(function ...