2010-06-08 52 views
4

我試圖構建一個<a>標記並將其設置在表格的<td>中。該字符串完美地構建,但是當我使用jQuery將其設置爲innerHTML時,該字符串被破壞。我無法弄清楚爲什麼會發生這種情況?任何線索?jQuery innerHTML無法正常工作(!)

這是我想在<td>設置字符串:

<a onclick='return EditIssueItemBatch('1c1e27a2-beac-4772-a26f-6a7e05529a65', '498ba483-ca06-4b23-b3a9-0085e4760ff1')'>Edit</a> 

但這裏是它的外觀設置爲innerHTML的經過:

<A onclick="return EditIssueItemBatch(" ?498ba483-ca06-4b23-b3a9-0085e4760ff1?)? 1c1e27a2-beac-4772-a26f-6a7e05529a65?,>Edit</A> 

而下面是我的代碼片斷..

​​
+2

請注意,您將值分配給innerHTML時不使用jquery - 這只是純javascript,所以它與Jquery無關。 jquery的方式是: $(tr.cells [9]).html(strBuff.join(「」)); – Razor 2010-06-08 15:27:00

+0

謝謝Razor的回覆。大衛建議轉義字符串。 $(tr.cells [9]).html(strBuff.join(「」))也適用,如果我正確地轉義字符串。 – Kayes 2010-06-08 15:48:51

回答

7

您在第一個結束時終止了onclick屬性呼叫是通過使用單引號包圍兩者的屬性值及其內容裏面 - 你必須搭配您的報價:

var strBuff = []; 
strBuff.push("<a onclick=\"return EditIssueItemBatch('"); 
strBuff.push(data.ItemIssueBatch.ItemCode_FK); 
strBuff.push("', '"); 
strBuff.push(data.ItemIssueBatch.StockDetCode_FK); 
strBuff.push("')\">Edit</a>"); 
tr.cells[9].innerHTML = strBuff.join(""); 

事實上,「期望」,你已經在你的問題寫出來的HTML代碼將不能工作爲了同樣的原因。

0

嘗試tr.cells[9].html(strBuff.join(""))代替。