jQuery innerHTML无法正常工作(!)

Kay*_*yes 4 javascript jquery

我试图构建一个<a>标签并将其设置在<td>一个表中.字符串是完美构建的,但是当我使用jQuery将其设置为innerHTML时,字符串会被破坏.我无法弄清楚为什么会这样?有线索吗?

这是我想在下面设置的字符串<td>:

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

但这是设置为innerHTML后的样子:

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

以下是我的代码片段..

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("");
...
...
Run Code Online (Sandbox Code Playgroud)

Dav*_*d M 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("");
Run Code Online (Sandbox Code Playgroud)

实际上,您在问题中写出的"所需"HTML也不会出于同样的原因.