DOM操作HTML元素属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM操作HTML元素属性</title>
</head>
<body>
<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
<script>

    PS:想要操作元素就必须先获取元素:
    getElementsByTagName(‘标签名称‘)
    getElementById(‘元素ID‘)
    getElementByClassName(‘类名称‘)            //HTML5新增的DOM API

    1, 操作属性的方式
        1) obj.style.属性名称 = ‘值‘;
                oDiv.style.display = ‘block‘;
        2) obj.style[‘属性名称‘] = ‘值‘;
                oDiv.style.[‘display‘] = ‘block‘;
        3)    DOM方式:利用js提供的各种DOM属性和方法操作HTML节点

    2, DOM方式操作元素属性
        获取属性值:getAttribute(名称)
        设置属性并赋值:setAttribute(名称, 值)
        删除属性: removeAttribute(名称)

    3, childNodes属性元素的子节点集合(元素节点=1, 属性节点=2, 文本节点=3)
         childNodes.length    获取子元素个数

         var list = document.getElementsByTagName(‘ul‘)[0];

         for(var i = 0; i<list.childNodes.length; i++){
             //使所有li背景为红色, 仅仅当节点类型是元素节点时
             if(list.childNodes.nodeType = 1){
                 list.childNodes[i].style.background = ‘red‘;
             }
         }

    4, children属性同样是元素的子节点集合(但只包含元素节点)

        var list = document.getElementsByTagName(‘ul‘)[0];

         for(var i = 0; i<list.childNodes.length; i++){
             //因为此属性只包含元素节点, 故无须做if判断
                 list.childNodes[i].style.background = ‘red‘;
         }
    PS: childNodes属性及children属性均指第一层子节点而为包含孙级节点

    5, parentNode属性表示父节点

        var item = document.getElementsByTagName(‘li‘)[0];
        console.log(item.parentNode);            //ul

    6, offsetParent属性指最近的祖先定位元素的引用
         定位元素指的是元素的 CSS position 属性被设置为 relative、absolute 或 fixed 的元素。
         与CSS定位机制一样,如果其父元素没有CSS定位属性,则逐级向上(包裹元素)寻找离其最近的具有CSS定位属性的父级,如始终未找到则以body作为其定位的父元素

         JS OffsetParent属性深入解析 http://www.cnblogs.com/jhxk/articles/1669680.html
    7, 首尾子节点

            IE6-8
            firstChild属性    第一个子节点

            高级浏览器
            firstElementChild属性        第一个子节点

            兼容浏览器处理
            if (obj.firstElementChild) {
                obj.firstElementChild...
            }else{
                obj.firstChild...
            }

            lastChild, lastElementChild同理

    8, 前后兄弟节点

            IE6-8
            nextSibling属性    后一个子节点

            高级浏览器
            nextElmentSibling属性    后一个子节点

            兼容浏览器处理
            if (obj.nextElmentSibling) {
                obj.nextElmentSibling...
            }else{
                obj.nextSibling...
            }

            previousSibling, previousElementSibling同理

    9, 封装ClassName(),  用于获取元素的class属性集合 [基础版本BUG]
            function getElementsClass(oParent, nClass){
                // 1>获取页面上的所有的元素使用*通配符
                var ele = getElementsByTagName(‘*‘);
                // 2>用于保存获取得到的所有class
                var Result = [];

                // 3>筛选出所有的class,  push()进数组
                for (var i = 0; i < ele.length; i++) {
                    if (ele[i].ClassName = nClass) {
                        Result.push(ele[i]);
                    };
                };
                // 4>返回获取到的class集合
                return Result;
            }
</script>
</body>
</html>
时间: 2025-01-18 13:20:02

DOM操作HTML元素属性的相关文章

jQuery使用(六):DOM操作之元素包裹、克隆DOM与data的综合应用

包裹 wrap() wrapInner() wrapAll() unwrap() clone() 数据缓存机制 data 文档处理(包裹) 1.1.wrap()--将所匹配的元素用其他元素结构化标签包裹起来(实际上就是给指定的元素添加父元素).参数可以是HTML标记代码字符串:也可以是DOM元素对象:或者是传入一个方法,方法的返回值可以是前面两种情况. //html <div class="demo">b</div> <div class="a&

JS——DOM操作(className属性)

简单介绍className: className 属性:设置或返回元素的 class 属性 看下面一个简单的例子(给className设置样式变化案例),效果如下图: 代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="

javascript基础dom操作html元素

语法:document.getElementById("id"); 举例:<script> window.onload = funtion () { var oDiv = document.getElementById("div1");// js选择html元素id元素 oDiv.style.color = "red";//js控制html元素css样式color颜色: } <script> <body> &l

jQuery学习总结之思维导图(一):选择器,DOM操作,CSS/属性

数字敏感: 分组记忆. 推荐比较好的中文档jQuery  API. http://www.css88.com/jqapi-1.9/ http://jquery.bootcss.com/

DOM元素选择 属性操作 事件操作 节点操作 创建元素的区别

DOM 获取页面元素 document.getElementById('id'); // id 选择器 document.getElementsByTagName('div'); // 标签选择器 返回伪数组 // html新增 document.getElementsByClassName('box'); // 类名学则器 document.querySelector('#id'): // 返回指定选择器的第一个元素对象,里面写css选择器 document.querySelectorAll(

DOM操作元素

DOM 操作元素 JavaScript的DOM操作可以改变网页内容.结构和样式.我们可以利用DOM操作元素来改变元素里面的内容.属性等. DOM操作元素: 一.操作元素:(一)innerText .(二)innerHTML 二.操作常见元素属性:src.href.title.alt等: 三.操作表单元素属性:type.value.disabled等: 四.操作元素样式属性:(一)element.style.(二)className 五.排他思想 一.改变元素内容 element.innerTex

DOM操作表格

前面的话 表格table元素是HTML中最复杂的结构之一.要想创建表格,一般都必须涉及表示表格行.单元格.表头等方面的标签.由于涉及的标签多,因而使用核心DOM方法创建和修改表格往往都免不了要编写大量的代码.本文将详细介绍DOM操作表格的属性和方法 需求 要通过DOM实现下列格式的表格结构 <table border = "1" width = "100%">     <tbody>         <tr>           

jQuery学习----------DOM操作

DOM操作之创建元素: DOM: var ele = document.createElement("element") 例子:document.createElement("div") jQuery: var $ele = $("element")    //返回的是一个jQuery对象 例子:$("<div></div>") DOM操作之输入文本: DOM: var txt = document.c

javascript 常用DOM操作整理

1.选取了DOM操作中实用并常用的部分,省略了实用但有明显兼容性的部分2.DOM属性和方法的对象归属可能并不完全准确3.某些一般兼容性和特点做了标识(主要是ie8-9上下) 节点类型 节点类型 节点值 标签节点(Element) 1 属性节点(Attr) 2 文本节点(Text) 3 CDATA节点(CDATASetion) 4 实体引用节点(EntityReference) 5 实体节点(Entity) 6 处理指令节点(ProcessingInstruction) 7 注释节点(Commen