Javascript jQuery innerHTML无法正常工作(!)
我试图构建一个Javascript jQuery innerHTML无法正常工作(!),javascript,jquery,Javascript,Jquery,我试图构建一个标记,并将其设置在表的中。该字符串构建得非常完美,但当我使用jQuery将其设置为innerHTML时,该字符串会被破坏。我不明白为什么会这样?有什么线索吗 这是我想在中设置的字符串: 编辑 但以下是设置为innerHTML后的效果: <A onclick="return EditIssueItemBatch(" ?498ba483-ca06-4b23-b3a9-0085e4760ff1?)? 1c1e27a2-beac-4772-a26f-6a7e05529a65?,&g
标记,并将其设置在表的
中。该字符串构建得非常完美,但当我使用jQuery将其设置为innerHTML时,该字符串会被破坏。我不明白为什么会这样?有什么线索吗
这是我想在
中设置的字符串:
编辑
但以下是设置为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("");
...
...
var tr=$(“#itemsissuebatchlisttable>tbody:last”).children()[data.Index+1];
...
...
var strBuff=[];
strBuff.push(“编辑”);
tr.cells[9].innerHTML=strBuff.join(“”);
...
...
您将在第一个strBuff结束时终止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("");
var strBuff=[];
strBuff.push(“编辑”);
tr.cells[9].innerHTML=strBuff.join(“”);
事实上,出于同样的原因,您在问题中写出的“想要的”HTML也不起作用。尝试
tr.cells[9].HTML(strBuff.join(“”)
。请注意,在为innerHTML赋值时,您没有使用jquery——这只是简单的javascript,因此它与jquery无关。Jquery的方式是:$(tr.cells[9]).html(strBuff.join(“”);谢谢你的回复。逃出绳子是按照大卫的建议做的$(tr.cells[9]).html(strBuff.join(“”)也可以在正确转义字符串的情况下工作。
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("");