Javascript 如何将html文件加载到div元素中,然后使用该html中的元素

Javascript 如何将html文件加载到div元素中,然后使用该html中的元素,javascript,jquery,html,load,jquery-callback,Javascript,Jquery,Html,Load,Jquery Callback,当我将html文件加载到div元素中,然后尝试使用该html中的元素时,我找不到它们。 我是这样做的: var View = (function() { var instance = null; var IMG_ARROW_UP = "icon_arrow_up.png", IMG_ARROW_DOWN = "icon_arrow_down.png", IMG_ARROW_ACTIVE = "icon_arrow_right_active.png", IM

当我将html文件加载到div元素中,然后尝试使用该html中的元素时,我找不到它们。 我是这样做的:

    var View = (function() {
        var instance = null;
        var IMG_ARROW_UP = "icon_arrow_up.png", IMG_ARROW_DOWN = "icon_arrow_down.png", IMG_ARROW_ACTIVE = "icon_arrow_right_active.png", IMG_ARROW_INACTIVE = "icon_arrow_right_inactive.png";
/**
 * DOM elements
 */
var container, menuArrowUp;
/**
 * DOM attributes
 */
var CONTAINER_ID = "container";

function init() {
    loadView();

    function loadView() {
        if (!DomHelper.nodeIsExist(CONTAINER_ID)) {
            DomHelper.createDivNode(document.body,
                    CONTAINER_ID, "");
            $("#" + CONTAINER_ID).load(
                    Properties.getParameter("template",
                            "VIEW_MARKUP"), function() {
                        initializeDomElements();
                        Manager.handleVisibility(CONTAINER_ID, false);
                    });
} }

    function initializeDomElements() {
        container = DomHelper
                .getByElementId(CONTAINER_ID);
        menuArrowUp = DomHelper
                .getByElementId("menuArrowUp");
    }

    function createViewHeader() {
        var headerNode = DomHelper.getByElementId("viewHeading");
        DomHelper.setNodeText(headerNode, getMessage("header"));
    }

    function setupImages() {
        DomHelper.setImageSrc(menuArrowUp, getImageSrc(IMG_ARROW_UP));
    }

    function getImageSrc(imagePath) {
        return DomHelper.getItemImage("IMAGES_PROPERTY", imagePath);
    }

    return {
        onShow : function() {
            Manager.handleVisibility(CONTAINER_ID, true);
            createViewHeader();
            setupImages();
        },

    }

}

return {
    getInstance : function() {
        if (!instance) {
            instance = init();
        }
        return instance;
    }
}
})()


InitializedEmelements()函数应该在onShow()函数之前调用,但实际上它在onShow()函数之后调用。

使用jQuery加载HTML

$('#yourElement').load('page.html', function() {
  /* When load is done */
}

如果人们不使用随机框架而不是官方的DOM API,我就能回答这么多问题。。。什么是。。。?另外,您将问题标记为Jquery,Jquery在哪里使用?这是另一个函数$(“#”+CONTAINER_ID).load()这是jquery<代码>“我试图使用html中的元素,但我找不到它们”-您需要更具体一些。您试图在哪里使用这些元素?你是怎么找到他们的?代码执行时是否加载了内容?我试图在onShow()中使用thenmethod@user3783844:好的,当您调用该代码时,这些元素是否存在?根据发布的代码,您正在立即调用该方法。它不会找到实际上还没有添加到页面中的元素。在使用AJAX调用将元素添加到页面中后,您需要调用它。$(“#”+容器ID).load(Properties.getParameter(“模板”,“视图标记”),function(){initializedmelements();Manager.handleviability(容器ID,false); }); 看起来是一样的:)
$('#yourElement').load('page.html', function() {
  /* When load is done */
}