首页 > 代码库 > Unit02: 读取和修改节点对象属性

Unit02: 读取和修改节点对象属性

【修改元素的内容和属性】

1.元素的内容

       - innerHTML:获取 / 设置 元素开始标签和结束标签里的html内容;

              使用固定套路:

              1.删除父元素下所有子元素:parent.innerHTML="";

              1.替换父元素下所有子元素:parent.innerHTML="内容";

 

       - innerText/textContent; 获取开始标签和结束标签里的文本内容;不包含元素;

         IE8          DOM标准

       - nodeValue:文本节点的内容;

 

       //***splice返回的是数组,加下标取值;遍历过程中会影响下标,从后向前遍历;

 

2.元素属性

       所有元素都有attributes属性[i]访问;

       - 读取属性:

         var value=http://www.mamicode.com/element.getAttribute("属性名");获得任意属性的值;

       - 修改属性:

         element.setAttribute(name,value);

         IE8不支持:用element.attributes("属性名")=value;

       - 删除属性:

         element.removeAttribute("属性名");

       - 判断有没有包含属性:

         element.hasAttribute("属性名");->true / false;

 

       property VS Attribute

       属性         HTML特性

       property:对象在内存中存储的属性,用.访问;

       Attribute:元素对象在开始标签定义的HTML属性和自定义属性;

 

       访问HTML标准属性时。二者完全一致:

     比如:<a href="http://tmooc.cn"...

       a.href-->属性   -->HTML DOM

       a.getAttribute("href")-->特性  -->核心DOM

 

    如果访问自定义属性时,二者不通用!

       <li /*data-age="29"*/>Eric</li>

     读取自定义属性:li.data-age? X

                     li.getAttribute("data-age");

     设置自定义属性:li.age=29-->网页?

                     li.getAttribute("age")找不到;

                    li.setAttribute("data-age",29);

 

 

       将类数组对象转换为标准数组;lis=Array.prototype.slice.call(lis);*********可以使用标准数组的方法;如:soft();

 

3.元素的样式

       - 修改内联样式

         1.获取或修改内联样式:style对象

              移除:

              oldDiv.style.removeProperty("z-index");

              oldDiv.removeAttribute("style");

              oldDiv.style.zIndex="";

              设置:

              oldDiv.style.zIndex="1";

 

              问题:仅能操作行内样式;

 

       - 修该样式表中的规则:内部 外部

         2步:

         1.获得要修改的样式表对象:

           var sheet=document.styleSheets[i]; styleSheets:获得网页所有样式表对象;

         2.获得要修改的cssRule:

         cssRule:样式表一个大括号就是一个cssRule对象;(有嵌套

         )

         var cssRule=sheet.cssRules[i];

         3.获得cssRule中的属性:

           cssRule.style.属性名;

技术分享

 

 

Unit02: 读取和修改节点对象属性