Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数参数超出范围时出现问题_Javascript_Jquery - Fatal编程技术网

Javascript 函数参数超出范围时出现问题

Javascript 函数参数超出范围时出现问题,javascript,jquery,Javascript,Jquery,我想让函数参数超出范围,但在这方面有一些问题 我试图通过以下代码获取值:var text=$.commentString.text() JQuery: function addComment(commentString) { var container = $('#divComments'); var inputs = container.find('label'); var id = inputs.length + 1; var div = $('<

我想让函数参数超出范围,但在这方面有一些问题

我试图通过以下代码获取值:
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();
});
函数addComment(commentString){
var容器=$(“#divComments”);
var输入=container.find('label');
变量id=输入。长度+1;
var div=$(''){
课堂:“评论风格”
});
$('', {
id:'注释'+id,
文本:注释字符串
}).附件(分部);
var$edit=$(“

”{ 类:“编辑”, 文本:“编辑” }).addClass(“编辑”).appendTo(div); 附件组(容器); } $('#divComments')。on('单击','.edit',函数(){ var text=$.commentString.text(); });


然后在函数外部声明一个变量:

var someCommentString;

function addComment(commentString) {
    someCommentString = commentString;
...

在JavaScript中,不可能访问声明范围之外的变量。您可以在函数外部声明变量,但每次函数运行时它都会被覆盖-看起来这不是您所追求的行为

在本例中,您可以使用jQuery遍历DOM并找到所需的文本

$('#divComments').on('click','.edit',function () {
  var text = $(this).parents(".CommentStyle").find("label").text();
});

或者你可以尝试其他方法来获取值,但不确定它是否正确

$('#divComments').on('click','.edit',function () {
$(this).prev().text()
});

什么是
$.commentString