2017-04-06 91 views
0

我收到的控制檯錯誤這條線: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; 
} 

正如你可以看到我創建一個div與ID'筆記'+筆記計數,但我不知道如何選擇它來改變它的值。

+0

的可能的複製[的ReferenceError:在分配無效的左側(http://stackoverflow.com/questions/18597667/referenceerror-invalid-left-hand -side-in-assignment) –

回答

2

更好地利用textContent屬性:

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

當你正在使用jQuery使用創建HTML它

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

display.appendTo('#displayContainer'); 
+2

好了,發現它是'div'元素。我會擴大答案來改善邏輯以擺脫'createElement' /'appendChild的醜陋之處。 –

1

只是一味

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

val調用返回,你不能與其他值覆蓋的值。

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

val() = note; //not allowed 

因爲值是通過函數調用已經計算的,因此左側是不是一個變量,而是一個值,你不能一個值賦給一個值

1

你的方式分配的值是錯誤的。你需要把它作爲參數傳遞給val功能,因爲它的功能,而不是一個屬性

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

JQUERY DOCS

+0

在查看文檔之前,我很困惑,因爲它說'這個方法不接受任何參數'。謝謝你:) – Xander

+0

沒問題:)。很高興幫助 –

+0

我會在一秒鐘內回覆是的:)我確定你是對的,但是當我測試它時,它不會被顯示。該div是用id和類名創建的,但是這個類沒有生效 – Xander

1

使用jQuery時,你應該把裏面的值的val();當你正在創建一個DIV

var display = document.createElement("div"); 
display.id = "note" + noteCount; 
display.textContent = note; 

OR,.text()DIV沒有value財產,你需要提供其作爲參數傳遞給方法調用

$("#note" + noteCount).val(note); 
相關問題