我想在范围之外获取函数参数,但这样做会遇到一些问题。
我尝试通过以下代码获取值:var text = $.commentString.text();
JQuery:
function addComment(commentString) {
var container = $('#divComments');
var inputs = container.find('label');
var id = inputs.length + 1;
var div = $('<div />', {
class: 'CommentStyle'
});
$('<label />', {
id: 'comment' + id,
text: commentString
}).appendTo(div);
var $edit = $('<p />', {
class: 'edit',
text: 'Edit'
}).addClass('edit').appendTo(div);
div.appendTo(container);
}
$('#divComments').on('click','.edit',function () {
var text = $.commentString.text();
});
最佳答案
在 JavaScript 中,不可能访问声明范围之外的变量。您可以在函数之外声明该变量,但每次函数运行时它都会被覆盖 - 它看起来不一样这就是你所追求的行为。
在这个例子中你可以做的是使用 jQuery 遍历 DOM 并找到你需要的文本。
$('#divComments').on('click','.edit',function () {
var text = $(this).parents(".CommentStyle").find("label").text();
});
关于javascript - 使函数参数超出范围的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23471302/