我想在范围之外获得函数参数,但是有一些问题要做。
我试图通过此代码获取值: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();
});
答案 0 :(得分:1)
在JavaScript中,不可能访问声明它的范围之外的变量。你可以在函数之外声明变量,但每次函数运行时它都会被覆盖 - 它看起来不像这就是你所追求的行为。
在这个例子中你可以做的是使用jQuery遍历DOM并找到你需要的文本。
$('#divComments').on('click','.edit',function () {
var text = $(this).parents(".CommentStyle").find("label").text();
});
答案 1 :(得分:0)
然后只在函数外声明一个变量:
var someCommentString;
function addComment(commentString) {
someCommentString = commentString;
...
答案 2 :(得分:0)
或者您可以尝试其他方式来获取价值,但不确定其是否正确
$('#divComments').on('click','.edit',function () {
$(this).prev().text()
});