不使用API​​按ID访问DOM元素

时间:2015-08-23 08:54:16

标签: javascript html dom

当我尝试通过id访问DOM元素时,我最近遇到了一件有趣的事情。所以,让我告诉你我得到了什么。

以下是HTML代码:

<!DOCTYPE HTML>
<html>
<head></head>
<body>
    <ul id='here' data-hi='123'>
        <li id='li1'>1</li>
        <li id='li2'>2</li>
        <li id='li3'>3</li>
    </ul>
</body>
</html>

我尝试访问ID为“li2”的第二个列表项并将其删除,这是JavaScript代码:

var ul = document.getElementById('here');
ul.removeChild(li2);

显然,“li1”在使用之前没有定义。但是,此代码有效,列表中的seconde项目已被删除。

,我尝试这样的另一个代码:

here.removeChild(li2);

它还在工作!!!我尝试在Chrome44,Firefox40和IE11上运行此代码,代码在这些浏览器上运行良好。

然后我尝试给第二个li标签命名为“li2name”,并做了同样的事情:

<li id='li2' name='li2name'>2</li>

here.removeChild(li2name);

抛出了错误:

Uncaught ReferenceError: li2name is not defined

我的问题是,当我尝试在元素的ID之后直接使用对象名称访问元素时,它的工作原理是什么?使用JavaScript引擎为我们隐式调用document.getElementById吗?

0 个答案:

没有答案