OnClick 我想要弹出一个对话框按钮,该对话框有一个 uniqueId 并在其中有一个 iframe。这是我的代码:
$( ".insertDetailsDiv" ).click(function() {
var idName = $(this).attr("id");
var idNameBase = idName.replace('DetailsButton', '');
var iframeSRC = idNameBase+".php";
$("<div class='idNameDialogDivClass'></div>").dialog();
$(".idNameDialogDivClass").each(function() {
$(this).uniqueId();
var idNameDialogDiv = $(this).attr("id");
console.log(idNameDialogDiv);
});
$("<iframe></iframe>", {
id: idNameBase,
src: iframeSRC
}).appendTo('#'+idNameDialogDiv);
});
但是我的控制台日志(chrome)输出
ui-id-6
Uncaught ReferenceError: idNameDialogDiv is not defined
我不明白,控制台日志输出变量,然后 javascript 无法识别该变量。
最佳答案
尝试在 .each()
函数之外声明变量 idNameDialogDiv
,
$( ".insertDetailsDiv" ).click(function() {
var idName = $(this).attr("id");
var idNameBase = idName.replace('DetailsButton', '');
var idNameDialogDiv = null; // Declare here.
var iframeSRC = idNameBase+".php";
$("<div class='idNameDialogDivClass'></div>").dialog();
$(".idNameDialogDivClass").each(function() {
$(this).uniqueId();
idNameDialogDiv = $(this).attr("id");
console.log(idNameDialogDiv);
});
$("<iframe></iframe>", {
id: idNameBase,
src: iframeSRC
}).appendTo('#'+idNameDialogDiv); // This was the place where the error was caused
});
关于javascript - 已在控制台日志上打印的 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24948497/