我正在嘗試創建一個動態表,它將在整個使用過程中添加和刪除行。我不想把ID放在我後來想參考的每個容器上。如何將dojo.query()和dojo.place()一起使用?
例如,我想添加一個隱藏的輸入到動態添加行的最後一個單元格。該行有一個ID,當我在最後一個單元格上沒有ID時,如何使用dojo.place()?
var pmrCount = dojo.query("#pmhTable >tbody >tr").length;
var rowID = 'pmr_' + pmrCount;
var newPmrRow =
'<tr id="' + rowID + '">' +
'<td>' + pmh + '</td>' +
'<td>' + String(pmr.severity).charAt(0) + '</td>' +
'<td>' + pmr.customerName + '</td>' +
'<td>' + pmr.deviceType + '</td>' +
'<td>' + pmr.deviceModel + '</td>' +
'<td>' + pmr.deviceSerial + '</td>' +
'<td align="center"><a class="cancel-link"></a></td>' +
'</tr>';
//dojo.place(newPmrRow, dojo.query("#pmhTable >tbody"));
var newPmrHiddenInput =
'<input type="hidden" name="pmrs" value="'+ JSON.stringify(pmr)+ '">';
//dojo.query("#" + rowID + " td:last").place(newPmrHiddenInput);
兩條註釋行代碼是我試圖用功能代碼替換的代碼行。這些不起作用,它們不像其他語法錯誤那樣在錯誤控制檯中顯示任何警告。不知道該從哪裏出發。
我知道dojo.query()返回一個NodeList,而place()期待一個DOM節點或一個id。什麼是正確的方法來做到這一點?
這個答案的問題是place函數仍然期待我將要放置的某個DOM元素的id。在我的情況中,我沒有關於DOM元素的ID,我想要放置它()入。 – ivandov
'#x''參數可以被任何css選擇器替換。在你的例子中,它可以是「#」+ rowID +「> td:last-child」'。 – BuffaloBuffalo