Javascript非法字符错误

时间:2016-01-03 17:04:22

标签: javascript html

onclick参数不起作用,为什么?

mydiv.innerHTML = mydiv.innerHTML + '<div style="border-bottom: 1px solid #D1D1D1; height: 50px; width: 100%; color: #464646; font-family: RobotoMedium;" onclick="seite5_wechseln('+variable+')">';

希望有一个解决方案。

2 个答案:

答案 0 :(得分:1)

您似乎正在将字符串传递给seite5_wechseln函数。但是你没有用引号括起来。

尝试:

mydiv.innerHTML = mydiv.innerHTML + '<div style="border-bottom: 1px solid #D1D1D1; height: 50px; width: 100%; color: #464646; font-family: RobotoMedium;" onclick="seite5_wechseln(\''+variable+'\')">';

答案 1 :(得分:1)

这有很多问题......

试试这个。我称之为“正确地做”;)

var newdiv = document.createElement('div');
newdiv.style.cssText = [
    "border-bottom: 1px solid #D1D1D1",
    "height: 50px",
    "width: 100%",
    "color: #464646",
    "font-family: RobotoMedium"
].join(";");
newdiv.onclick = function() {
    seite5_wechseln(variable);
};
mydiv.appendChild(newdiv);

可以进行进一步的改进,例如为元素定义CSS类并将样式放在那里(使用newdiv.className = "myclass";将其设置为元素),以及使用addEventListener而不是.onclick分配,但这已经比原始代码有了很大改进。