Javascript 如何将html文件加载到div元素中,然后使用该html中的元素
当我将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
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 */
}