html = '<a href="#" onclick="alert("This link is clickable only in the mobile!")">text</a>'
我附加了我的html,但是当我点击它时说出了意外的令牌},是不可能像这样做内联触发器?
答案 0 :(得分:4)
您需要转义属性值中的"
个字符...使用"
special entity:
html = '<a href="#" onclick="alert("This link is clickable only in the mobile!")">text</a>'
有更好的选择来实现这一目标,而不是用JavaScript编写原始HTML。
var aElement = jQuery("<a>").attr("href", "#").click(function() {
alert("This link is clickable only in the mobile!");
});
// You can append it like:
aElement.appendTo(document.body);
Pure Javascript:
var aElement = document.createElement("a");
aElement.setAttribute("href", "#");
// If you want the onclick attribute to show up in HTML source:
aElement.setAttribute("onclick", "alert(\"This link is clickable only in the mobile!\")");
// This way is easier:
aElement.onclick = function() {
alert("This link is clickable only in the mobile!");
}
// Append like:
document.body.appendChild(aElement);
答案 1 :(得分:3)
因为你正在混合使用双引号,所以不可能完全相同。
在字符串中使用转义单引号:
html='<a href="#" onclick="alert(\'This link is clickable only in the mobile!\')">text</a>'
答案 2 :(得分:1)
html = '<a href="javascript:alert("This link is clickable only in the mobile!")">text</a>'
您可以直接在锚点href
中附加javascript方法,也需要编码(转义)引号。