首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSP.getElementById vs document.getElementById

XSP.getElementById vs document.getElementById
EN

Stack Overflow用户
提问于 2013-02-02 00:59:49
回答 2查看 1.9K关注 0票数 0

XSP.getElementByIddocument.getElementById有什么区别?在我的测试中,两者似乎返回了相同的值(存储在字段中的值)。在为XPages编码时,哪一个应该是首选的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-02 02:45:42

编辑的

XSP.getElementByIddojo.byId是一样的,我相信它比document.getElementById适用的浏览器范围更广。

以下是XSP.getElementById的源代码

代码语言:javascript
复制
   /**
    * Convenience function for retrieving an element given its id in a browser independent manner.
    */
    this.getElementById = function x_gbi(elementId){
        return dojo.byId(elementId);
    }

我猜为了更好地支持未来的XPage,使用XSP.getElementById (因为他们可能会改变它)而不是dojo.byId可能是一个好主意。我一直在使用dojo.byId,因为它更短。永远不应该在XPages中使用document.getElementById,因为我们有dojo.byId

更新

从Dojo 1.7开始,语法要复杂得多:

代码语言:javascript
复制
require(["dojo/dom"], function(dom){
    // fetch a node by id="someNode"
    var node = dom.byId("someNode");
});

今天,我的同事指出Dojo2将不再支持当前简单的调用dojo.byId的方式。这意味着XSP.getElementById绝对是最佳选择,无论何时我们将require与ND9一起使用,我们都应该开始使用新的基于Dojo的语法。

票数 6
EN

Stack Overflow用户

发布于 2013-02-02 01:13:14

XSP包含使用Notes client (XPiNC)和web浏览器处理情况的代码。在XPiNC中不使用XSP调用可能会起作用,也可能会有副作用。

XSP.getElementById的工作方式与document.getElementById相同,不同之处在于它确保它可以跨具有相同功能的浏览器工作。

您可以在适用于getElementById的"XPages可移植命令指南“第184页中阅读有关XSP如何工作的更多信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14651328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档