包含onclick
事件的以下范围标记无效
var test="<span onClick="gotoNode(\'' + result.name + '\',\'' + result.xaxis + '\',\'' + result.yaxis + '\',\'' + result.detail + '\',\'' + result.status + '\')" />"
上面的转义字符串在方法调用方面存在一些问题。
我该如何解决?
答案 0 :(得分:0)
你使用php生成输出吗?
然后你应该试试
echo "<input type=\"button\" onClick=\"gotoNode(\" + result.name + \",\" +
result.xaxis + \",\" + result.yaxis + \",\" + result.detail + \",\" +
result.status + \")\" />";
答案 1 :(得分:0)
如果您在JavaScript中创建此元素以创建元素,则需要转义第一个单引号。
function gotoNode(name, xaxis, yaxis, detail, status) {
alert("name = " + name + "\r\nxaxis = " + xaxis + "\r\nyaxis = " + yaxis + "\r\ndetail = " + detail + "\r\nstatus = " + status);
}
var result = { name: "name", xaxis: "xaxis", yaxis: "yaxis", detail: "detail", status: "status" };
var htmlText = '<input value="Button" type="button" onclick="gotoNode(\'' + result.name + '\',\'' + result.xaxis + '\',\'' + result.yaxis + '\',\'' + result.detail + '\',\'' + result.status + '\')" />';
$("#lonely").append(htmlText);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="lonely"></div>
&#13;
一般来说,无论你开始使用什么类型的引号('
或"
),你都需要转义你想要在字符串中使用的相同类型,而不是将相同的类型转义为终止字符串。你可以保留其他类型而不逃避。
对于您的编辑版本,如果您希望将这些结果变量替换为其值,则此功能应该有效。
var test = "<span onclick=\"gotoNode('" + result.name + "','" + result.xaxis + "','" + result.yaxis + "','" + result.detail + "','" + result.status + "')\" />";