Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery innerHTML无法正常工作(!)_Javascript_Jquery - Fatal编程技术网

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("");