相关疑难解决方法(0)

为什么我们不在JavaScript中使用元素ID作为标识符?

我开始使用的所有浏览器都允许id="myDiv"通过简单地编写来访问元素:

myDiv
Run Code Online (Sandbox Code Playgroud)

见这里:http://jsfiddle.net/L91q54Lt/

无论如何,这种方法似乎记录很少,事实上,我遇到的来源甚至没有提及,而是假设有人会使用

document.getElementById("myDiv")
Run Code Online (Sandbox Code Playgroud)

或者可能

document.querySelector("#myDiv")
Run Code Online (Sandbox Code Playgroud)

即使在事先知道其ID(即不在运行时计算)时也要访问DOM元素.我可以说,后者的方法具有保持代码安全的优势,如果有人无意中尝试myDiv在更广泛的范围内重新定义(虽然不是这么好的想法......),用一些不同的值覆盖它并继续而没有注意到冲突.

但其他那个呢?除了代码设计之外,使用上面的简短形式是否有任何问题,或者我在这里缺少什么?

javascript dom getelementbyid

52
推荐指数
3
解决办法
5907
查看次数

某些浏览器中的getElementById是可选的吗?

通过window.someThing访问元素时,"someThing"应该是html元素的名称.但我现在看到的是,我可以通过id以相同的方式访问元素,而无需document.getElementById.什么时候改变了?看起来它适用于Chrome,IE,Firefox 13,但不适用于Firefox 12.

例如:

<div id="MyDiv">Content</div>

<script>
    MyDiv.innerHTML = "New Content";
</script>
Run Code Online (Sandbox Code Playgroud)

为什么上面的例子有效?我为什么不这样做:

var MyDiv = document.getElementById('MyDiv');
Run Code Online (Sandbox Code Playgroud)

它是新的东西,还是一直有可能,我只是不知道它?

html javascript

8
推荐指数
1
解决办法
226
查看次数

f()和(f())之间有什么区别?

之间有任何区别

var myfunc = (function () { return function () { ... } }());
Run Code Online (Sandbox Code Playgroud)

var myfunc = function () { return function () { ... } }();
Run Code Online (Sandbox Code Playgroud)

它只是一种风格问题还是第一种形式的周围()更多?

javascript

6
推荐指数
2
解决办法
123
查看次数

JavaScript document.getElementById("id")和元素id属性

我有:

<div id="myDiv1"></div>
<div id="myDiv2"></div>
Run Code Online (Sandbox Code Playgroud)

在JavaScript中,我可以通过编写来设置div innerHTML:

myDiv1.innerHTML = "myDiv1, Hi!"
Run Code Online (Sandbox Code Playgroud)

要么

document.getElementById("myDiv2").innerHTML = "myDiv2, Hi!"
Run Code Online (Sandbox Code Playgroud)

当我可以简单地使用元素Id时,为什么要使用document.getElementById?这是每次还是仅在某些特殊情况下(如简单样本)?

谢谢,

麦克风

javascript dom

5
推荐指数
1
解决办法
1165
查看次数

标签 统计

javascript ×4

dom ×2

getelementbyid ×1

html ×1