• Javascript 笔记与总结(2-7)对象


    html:

    <h1>找对象</h1>
    <div id="div1">
        <p>p1</p>
        <p>p2</p>
        <p>p3</p>
    </div>
    <div class="div2"></div>
    <input type="text" name="username" value="uname">

    js:

    Id

    console.log(document.getElementById("div1"));

    输出:

    <div id="div1">
        <p>p1</p>
        <p>p2</p>
        <p>p3</p>
    </div>

    类型是 [object HTMLDivElement]

    TagName

    console.log(document.getElementsByTagName("p"));
    console.log(document.getElementsByTagName("p").length);
    console.log(document.getElementsByTagName("h1"));

    输出:

    [p, p, p, item: function, namedItem: function]
    0: p
    1: p
    2: p
    length: 3
    __proto__: HTMLCollection

    类型是 [object HTMLCollection] 对象集合

    3

    [h1, item: function, namedItem: function]
    0: h1
    length: 1
    __proto__: HTMLCollection

    操作集合中的某个元素:

    var ps = document.getElementsByTagName("p");
    ps[1].style.background = 'blue';

    ③ 表单元素 Name

    console.log(document.getElementsByName("username"));

    输出:

    [input, item: function]
    0: input
    length: 1
    __proto__: NodeList

    类型 [object NodeList] 节点列表

    读取其中一个表单元素的 value

    var username = document.getElementsByName("username");
    console.log(username[0].value);

    输出:

    uname

    操作其中一个表单元素的 value

    username[0].value = 'dee';

    或者直接

    document.getElementsByName("username")[0].value = "dee";

    ClassName (ie6/ie7/ie8 的 document 对象是没有 getElementByClassName 这个属性的)

    console.log(document.getElementsByClassName("div2"));

    输出:

    [div.div2, item: function, namedItem: function]
    0: div.div2
    length: 1
    __proto__: HTMLCollection

    类型 [object HTMLCollection]

    ⑤ 找子对象 / 父对象 children / parent(可在 W3C 手册中查找)

    console.log(document.getElementById("div1").childNodes);

    输出:

    [text, p, text, p, text, p, text, item: function]
    0: text
    1: p
    2: text
    3: p
    4: text
    5: p
    6: text
    length: 7
    __proto__: NodeList

    在 DOM 中,一个注释、一个换行、一个空格都看成是一个节点

    另外,除了 childNodes 外,children 也可以用来表示子节点(并不是 W3C 的规范,但是各个浏览器都支持),使用 children 属性时,例如上例遍历 #div1 的子节点时,会自动过滤例如换行、空白等 空白节点

    console.log(document.getElementById("div1").children);

    输出:

    [p, p, p, item: function, namedItem: function]
    0: p
    1: p
    2: p
    length: 3
    __proto__: HTMLCollection

    父节点

    console.log(document.getElementsByTagName("p")[0].parentNode);

    输出:

    <div id="div1">
        <p>p1</p>
        <p style="background: blue;">p2</p>
        <p>p3</p>
    </div>

    也可以操作父节点的属性

    document.getElementsByTagName("p")[0].parentNode.style.border = '1px solid #eee')
  • 相关阅读:
    画了朵花
    定位
    浮动
    盒模型
    html+css笔记1
    闭包
    高阶函数
    函数
    Map Set iterable
    git stash clear/drop 后代码如何恢复
  • 原文地址:https://www.cnblogs.com/dee0912/p/4457706.html
Copyright © 2020-2023  润新知