<select data-myattr="123" id="cboTest"
onchange="SayHello(this.data-myattr)">
这不起作用。如果我把data-
取消它,它就可以了,但是从我读过的内容来看,这样做是安全的。但是,这样做,我得到:“Microsoft JScript运行时错误:'myattr'未定义”。
这是我超级复杂的功能:
function SayHello(msg) {
alert(msg);
}
提前致谢。
答案 0 :(得分:10)
试试这样:
<select data-myattr="123" id="cboTest"
onchange="SayHello(this.getAttribute('data-myattr'))">
答案 1 :(得分:1)
表达式:
平变化= “的SayHello(this.data-myattr)” &GT;
被解释为this.data
减去 myattr
。你必须使用:
onchange="SayHello(this.getAttribute('data-myattr'))"
代替。
答案 2 :(得分:1)
getAttribute()
之类的东西应该
<select data-myattr="123" id="cboTest"
onchange="SayHello(this.getAttribute('data-myattr'))">
<option>1</option>
<option>2</option>
</select>
另外,我会尝试避免使用内联脚本,因为它们会使HTML变得混乱。请改用addEventListener
/ attachEvent
(较旧的IE)。