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 ...
随机推荐
- 【BZOJ-1656】The Grove 树木 BFS + 射线法
1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 186 Solved: 118[Su ...
- memcache占用CPU过高的解决办法
Simon最近为公司服务器操碎了心 , 先是mysqld进程占用CPU过高 , 导致服务器性能变低 ,网站打开太慢.通过增加max_connections及table_cache解决了问题 ,随后发现 ...
- vmware Centos6.6安装64位
Centos6.6安装64位 必须开启BIOS中的虚拟化技术 首先开机进入BIOS,一般机器是按F2,我的T420是按F1,然后进入Security,Virtualization,选择Enable即可 ...
- C#设备处理类操作
C#对于处理window操作系统下的设备有天然的优势,对于大多数设备读写等操作来说基本上够了,这里只讨论通过普通的大多数的设备的操作.涉及到两大类SerialPort类,Socket的一些操作.不一定 ...
- DPM模型简单记录
这个模型思想很直观(有误),但是写的源码太难懂了(看的是release-3的版本,最接近Object Detection with Discriminatively Trained Part Base ...
- Python Day12
MySQL 数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们 ...
- windows系统如何添加ssh key到github
我自己的电脑安装了git后,从来没有用过,今天偶然用了一次,发现不能pull到东西,报错说我没有权限,于是我网上搜索了一下,应该是我没有配置ssh key的原因,相信很多人都有和我一样的经历吧,这里呢 ...
- 旧版本APP被开发人员下架,新版本重新上传依然显示被下架
新接了一个项目,这个项目在苹果商城上面的版本已经被原来另外一家公司的开发人员下架.我们重新设计.开发.上传,申请加急审核,终于完成手动发布.但是发布成功后,新版本提示:被开发人员下架.以前虽然迭代开发 ...
- 7Hibernate高级----青软S2SH(笔记)
- TCP学习之四:传输协议
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 服务端接收到的数据可能是被截断或合并后的数据,需要协议来 ...