Javascript Can';加载html时找不到html标签
我可以加载一个简单的html文件,但当我试图在加载的html中查找元素时,javascript无法找到该元素。在IE10中,显示加载的html,但标签不变。在Chrome中,加载不起作用。我是否加载错误,是否有方法获取对元素的引用 progress.html中只有一行,即id为“Javascript Can';加载html时找不到html标签,javascript,html,load,Javascript,Html,Load,我可以加载一个简单的html文件,但当我试图在加载的html中查找元素时,javascript无法找到该元素。在IE10中,显示加载的html,但标签不变。在Chrome中,加载不起作用。我是否加载错误,是否有方法获取对元素的引用 progress.html中只有一行,即id为“”progressLabel“的标签和“加载…”的内部文本 我正在创建一个模式对话框,然后加载并尝试获取progresslabel: $("#progressbarDiv").dialog({ resizable
”progressLabel“
的标签和“加载…
”的内部文本
我正在创建一个模式对话框,然后加载并尝试获取progresslabel:
$("#progressbarDiv").dialog({
resizable: false,
height: 240,
width: 500,
modal: true,
closeOnEscape: false,
//disabled: true,
open: function (event, ui) {
// Hide close button
$(this).parent().children().children(".ui-dialog-titlebar-close").hide();
},
buttons: {
"Ok": {
text: "OK",
id: "myOKButton",
click: function () {
$(this).dialog("close");
}
}
}
});
$('#progressbarDiv').load('progress.html');
var testThis = $('#progressLabel');
testThis.text = "...Synchronizing data, please wait...";
在尝试访问元素之前,请等待整个页面已加载。在尝试访问元素之前,请等待整个页面已加载。要访问AJAX加载元素中的HTML,需要在回调函数中执行Javascript
$('#progressbarDiv').load('progress.html',function(){
// Your script was setting $.text = , but it's a function.
$('#progressLabel').text("...Synchronizing data, please wait...");
});
$.load(url,回调)
是异步的,因此当$.load
返回时不会加载内容。回调
是您如何知道$的。load
已完成其处理
您可以使用$('#progressLabel').text(“…正在同步数据,请稍候…”)代码>脚本中的任意位置。如果这是一个足够小的项目,它是好的。如果您关心维护,那么应该构建代码的体系结构,这样就不需要从任何地方全局访问该div。至少创建一个可以调用的函数,也许它可以按需加载
/**
* A simple but slightly better way to set the text from anywhere.
* Lazily fetches the progress HTML.
*/
function setProgressString(str) {
function setText() {
$('#progressLabel').text(str);
}
if ($('#progressLabel').length === 0) {
$('#progressbarDiv').load('progress.html', setText);
} else {
setText();
}
}
// Use anytime
setProgressString('...Synchronizing data, please wait...')';
要访问AJAX加载元素中的HTML,需要在回调函数中执行Javascript
$('#progressbarDiv').load('progress.html',function(){
// Your script was setting $.text = , but it's a function.
$('#progressLabel').text("...Synchronizing data, please wait...");
});
$.load(url,回调)
是异步的,因此当$.load
返回时不会加载内容。回调
是您如何知道$的。load
已完成其处理
您可以使用$('#progressLabel').text(“…正在同步数据,请稍候…”)代码>脚本中的任意位置。如果这是一个足够小的项目,它是好的。如果您关心维护,那么应该构建代码的体系结构,这样就不需要从任何地方全局访问该div。至少创建一个可以调用的函数,也许它可以按需加载
/**
* A simple but slightly better way to set the text from anywhere.
* Lazily fetches the progress HTML.
*/
function setProgressString(str) {
function setText() {
$('#progressLabel').text(str);
}
if ($('#progressLabel').length === 0) {
$('#progressbarDiv').load('progress.html', setText);
} else {
setText();
}
}
// Use anytime
setProgressString('...Synchronizing data, please wait...')';
您没有提到您是否正在使用jQuery或某个库。可能该库没有加载?我们是否应该假设它包装在.ready()
容器中?另外,您可以发布一些HTML吗?$(this).parent().children().children(“.ui对话框标题栏关闭”)
可以通过编写$(this.parent().find(“.ui对话框标题栏关闭”)
来进行清理,除非您的子项中有多个对话框标题栏关闭…load()
将以异步方式运行,因此如果它位于progressbarDiv
的内部,它可能不会在加载后立即出现。此外,您还需要将对话框的内容容器部分作为目标,或者您正在清除progressbarDiv
@scrapedcola的对话框内容。谢谢您对内容容器的介绍。您没有提到您是否使用jQuery或某个库。可能该库没有加载?我们是否应该假设它包装在.ready()
容器中?另外,您可以发布一些HTML吗?$(this).parent().children().children(“.ui对话框标题栏关闭”)
可以通过编写$(this.parent().find(“.ui对话框标题栏关闭”)
来进行清理,除非您的子项中有多个对话框标题栏关闭…load()
将以异步方式运行,因此如果它位于progressbarDiv
的内部,它可能不会在加载后立即出现。另外,您需要将对话框的内容容器部分作为目标,或者您只是在清除progressbarDiv
@scrapedcola的对话框内容。谢谢您对内容容器的介绍。您的意思是使用$.ready()
还是$.ajax
回调?显示代码将改善回答。在加载初始页面后,单击按钮以执行上述对话框。我假设html在加载过程中添加到DOM中,但让我检查一下。您的意思是使用$.ready()
还是$.ajax
回调?显示代码将改善回答。在加载初始页面后,单击按钮以执行上述对话框。我假设在加载过程中html被添加到DOM中,但让我检查一下。我认为#progressLabel
不在加载过程中data@Ian“…当我试图在加载的html中找到一个元素时,”@JuanMendes你说得很对,我不确定我怎么会错过它。哈哈,很抱歉,“如果它在回调函数之外,jQuery/Javascript的原始运行将看不到它”并不能真正解释问题,或者可以更清楚。事实上,$.load
是异步的,因此当$.load
完成时不会加载内容,回调是您如何知道$的。load
已完成其调用processing@Vangel您最近提出的问题不像不了解$异步性质的人那样常见。加载
请不要在回答中添加随机注释。我不认为#progressLabel
已加载data@Ian "... 当我试图在加载的html中找到一个元素时,“@JuanMendes You's very right,我不确定我怎么会错过它。哈哈,对不起”,如果它在回调函数之外,jQuery/Javascript的原始运行将看不到它“这并不能真正解释问题,或者可能更清楚。事实上,$.load
是异步的,因此当$.load
完成时不会加载内容,回调是您如何知道$的。load
已完成其调用processing@Vangel您最近的问题不像不了解$异步性质的人那样常见。加载请不要在答案中添加随机注释