DOM读取和修改节点对象属性
2015-10-25 17:43
363 查看
一、获取和修改元素间的内容(3种)
1.innerHTML 获得/设置元素开始标签和结束标签之间的html原文
固定套路:1.删除父元素下所有子元素:parent.innerHTML="";
2.批量替换父元素下所有子元素:parent.innerHTML="所有子元素标签组成的html"
2.textContent/innerText: 获得开始标签和结束标签之间的文本(去除标签)
textContent 是DOM标准;innerText 是IE8;
3.文本节点内容
nodeValue
示例:读取并修改元素内容
View Code
三、获取和修改元素的样式
1.获取或修改内联样式:style对象
设置:style.属性名="值";
移出(2种):
style.属性名="";
style.removeProperty("CSS属性名")
//仅能操作style属性中定义的内联样式,无法获取或设置样式表中的样式
2.获取或修改内联样式表中的属性(3步)
1. 获得要修改的样式表对象:
var sheet=document.styleSheets[i];//styleSheets:获得当前网页的所有样式表对象
2. 获得要修改的cssRule:
cssRule:样式表中一个大括号就是一个cssRule对象
var cssRule=sheet.cssRules[i];//cssRule可能嵌套。
3. 获得cssRule中的属性
cssRule.style.属性名
1.innerHTML 获得/设置元素开始标签和结束标签之间的html原文
固定套路:1.删除父元素下所有子元素:parent.innerHTML="";
2.批量替换父元素下所有子元素:parent.innerHTML="所有子元素标签组成的html"
2.textContent/innerText: 获得开始标签和结束标签之间的文本(去除标签)
textContent 是DOM标准;innerText 是IE8;
3.文本节点内容
nodeValue
示例:读取并修改元素内容
window.onload=function(){ //获得ul下所有li var lis=document.querySelectorAll("ul li"); var nums=[]; //反复生成随机数,nums.length<lis.length // 在1到lis.length之间取1个随机正数n // 利用nums的indexOf方法,查找是否包含n // 如果不包含,将n压入nums中 while (nums.length<lis.length) { var n=parseInt(Math.random()*(lis.length-1+1)+1); if(nums.indexOf(n)==-1){ nums.push(n); } } console.log(nums); //将nums中的数字,保存到每个li的data-i自定义属性中 //遍历nums // 将nums中当前的数字,设置到相同位置的li中的data-i特性上 for (var i=0; i<nums.length; i++) { lis[i].setAttribute("data-i",nums[i]);803490 } //将类数组最想转化为标准数组对象 lis=Array.prototype.slice.call(lis); //尽让li的data-i特性相减 lis.sort(function(a,b){ return a.getAttribute("data-i")-b.getAttribute("data-i"); //return a.dataset.i-b.dataset.i;//HTML5中读取自定义属性; "data-xxx"-->dataset的集合中,属性名xxx }); //清空所有旧li ul=document.querySelector("ul"); ul.innerHTML=""; for (var i=0; i<lis.length; i++) { //将li追加到ul中 ul.appendChild(lis[i]); } console.log(lis); }
View Code
三、获取和修改元素的样式
1.获取或修改内联样式:style对象
设置:style.属性名="值";
移出(2种):
style.属性名="";
style.removeProperty("CSS属性名")
//仅能操作style属性中定义的内联样式,无法获取或设置样式表中的样式
2.获取或修改内联样式表中的属性(3步)
1. 获得要修改的样式表对象:
var sheet=document.styleSheets[i];//styleSheets:获得当前网页的所有样式表对象
2. 获得要修改的cssRule:
cssRule:样式表中一个大括号就是一个cssRule对象
var cssRule=sheet.cssRules[i];//cssRule可能嵌套。
3. 获得cssRule中的属性
cssRule.style.属性名
相关文章推荐
- Docker 清理命令集锦
- 简单的nginx fastcgi配置
- Docker 清理命令集锦
- VB定时关机代码
- 去哪儿网、腾讯实习面试总结-
- php curl函数理解
- hdu1503 Advanced Fruits(DP 最长公共子序列变形)
- LeetCode-----283Move Zeroes
- Linux添加用户启动项
- Xcode 7 缺少 *.dylib库的解决方法
- 不使用(a+b)/2这种方式,求两个数的平均值
- ssh远程打开ubuntu的vino-server
- Eclipse快捷键 10个最有用的快捷键
- 基本概念复习
- codeforces 570A
- 软考路之算法汇总
- excel中的表定义导入到powerdesigner
- 用for语句设置密码
- Xcode升级后,轻松解决插件失效问题
- C复习手记(Day1)