enj*_*aku 4 javascript jquery dom javascript-events
这是HTML代码
<p onclick='javascript:func(this);'>Bla bla bla</p>
Run Code Online (Sandbox Code Playgroud)
这是脚本(它写在文档的头部).
function func(e) {
var t = e.text();
console.log(t);
}
Run Code Online (Sandbox Code Playgroud)
它不起作用,我不理解为什么.错误消息是"对象#没有方法'文本'".
将它包装在jQuery包装器中..text()是一个jQuery方法,你的元素e是一个简单的Javascript DOM元素,所以你需要jQuery包装器.
var t = $(e).text();
Run Code Online (Sandbox Code Playgroud)
附注:不显眼的事件处理程序分配比内联处理程序更受欢迎.例如:
$(document).ready(function(){
$('p').click(function(){
var t = $(this).text();
console.log(t);
});
});
Run Code Online (Sandbox Code Playgroud)
上面使用jQuery来分配单击处理程序(而不是内联Javascript),因此,可以访问该元素以获取this普通Javascript对象或$(this)jQuery对象.