jQuery无效的左侧错误

时间:2017-04-06 10:03:35

标签: javascript jquery

我收到此行的控制台错误:

$("#note" + noteCount).val() = note;

这是完整的功能:

function addNotes() {
    noteCount++;
    var note = $("#noteInput").val();
    console.log("Note: " + note);
    console.log("Note Count: " + noteCount);
    var display = document.createElement("div");
    document.getElementById("displayContainer").appendChild(display);
    display.className = "noteDisplay";
    display.id = "note" + noteCount;
    $("#note" + noteCount).val() = note;
}

正如您所看到的,我创建了一个带有ID'注释' +笔记计数,但我不知道如何选择它来改变它的值。

4 个答案:

答案 0 :(得分:2)

在创建textContent

时更好地使用DIV属性
 var display = document.createElement("div"); 
 display.id = "note" + noteCount;
 display.textContent = note;

或,.text()由于DIV没有value属性,您需要将其作为参数提供给方法调用:

$("#note" + noteCount).text(note);

当你使用jQuery使用它创建HTML时

var display = $("<div>", {
    "text" : note,
    "id" : "note" + noteCount,
    "class" : "noteDisplay"     
});

display.appendTo('#displayContainer');

答案 1 :(得分:1)

只需尝试

$("#note" + noteCount).val( note );

val调用返回一个您无法用其他值覆盖的值。

val = note; //has a different meaning, still not correct for your scenario

但是

val() = note; //not allowed 

因为值已经通过函数调用计算,因此左侧不是变量,而是值,并且您不能为值赋值

答案 2 :(得分:1)

您分配值的方式是错误的。您需要将其作为参数传递给val函数,因为它是一个函数而不是属性

$("#note" + noteCount).val(note) ;

请参阅 JQUERY DOCS

答案 3 :(得分:1)

使用()时,您应该将值放在val的{​​{1}}内;

jQuery