如果更换您的示例中的值,你会看到:
"document".getElementsByTagName("document").onclick = function() {};
1。 )d
应该设置为全局文档引用,而不是字符串'document'
var d = window.document;
2)getElementsByTagName
收益匹配包含给定的DOM节点中的给定标记名称的节点,所以通过“文件”作为一个字符串会寻找名为“文件”的HTML元素。你需要找到的div,例如:
d.getElementsByTagName("div"); // All the 'div' elements in the document
3)对于方法名使用字符串,它们需要在括号
document[ t ]; // document.t won't work, t is not a member
4)一旦你访问你关心的节点,则需要通过他们循环,事件处理程序添加到每个元素
var d = document.getElementsByTagName("div"),
i = 0,
len = d.length;
for (; i < len; i++) {
(function() {
// do something with d[i], the current element in the loop
})(i)
}
希望帮助!干杯。
IMO的少一些按键“方便”是不值得的代码的可读性的影响。如果您担心提供较小的'.js'文件,请阅读SLaks的答案。 – NullUserException
请勿这样编码。它使你的代码完全不可读,并且会对许多错误和更长的开发负责。此外,如果其他人每个人都需要处理你的代码,他们将是完全没有生产力的。如果您想要更小的代码,请在部署之前编写普通的JavaScript并在最终结果上使用缩小器。即使'd [t](d)[0] .oc ='是正确的代码,它也是非常神秘且难以理解的。 – jfriend00
@ jfriend00:我完全同意这段代码对其他人不清楚。但在同一时间'文件。getElementsByTagName'不能被缩小。我认为这种技术是可以的,因为它确实允许代码被缩小,但是当然需要更好的变量名称。 – user113716