我正在尝试构建<a>
标记,并将其设置在表格的<td>
中。字符串是完美构建的,但是当我使用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>
以下是我的代码片段..
var tr = $("#itemIssueBatchListTable > tbody:last").children()[data.Index + 1];
...
...
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("");
...
...
答案 0 :(得分:7)
您在第一个strBuff.push
来电结束时终止了您的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不会出于同样的原因。
答案 1 :(得分:0)
尝试tr.cells[9].html(strBuff.join(""))
。