2

这是一些代码

  var docDiv= document.getElementById("divId");

  var dojoDiv= dom.byId("divId");

javascript 的 document.getelementbyid 和 dojo 的 dom.byid 有什么区别。这是一个更快。如果你想使用 dom 我们需要加载 dojo.js。

4

4 回答 4

2

这是 Dojo 的 dom.byId 的非 IE 版本:

dom.byId = function(id, doc){
            // inline'd type check.
            // be sure to return null per documentation, to match IE branch.
            return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode
        };

您会注意到它使用 getElementById。

希望这能回答你的问题。

于 2013-04-07T06:08:10.390 回答
1

我认为 document.getElementById()dom.byId()dojo 在内部使用 document.

于 2013-04-07T06:03:37.867 回答
0

来自dojo github代码https://github.com/dojo/dojo/blob/master/dom.js#L51document.getElementById内部使用

dom.byId = function(id, doc){
    // inline'd type check.
    // be sure to return null per documentation, to match IE branch.
    return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null; // DOMNode
};

使用document.getElementById,我们可以避免调用这个dom.byId函数!..但性能差异非常小

我更喜欢dom.byId,因为它使用起来很短。否则我必须document.getElementById在每个地方都写很长!

于 2013-04-07T06:07:58.187 回答
0

document.getElementById()比 快dom.byId()。因为dom.byId()需要加载dojo核心文件。

于 2013-07-10T09:42:01.537 回答