我试图使用.data从属性中获取值.
HTML
<div class="like" data-postid="903282304865jh"> </div>
Run Code Online (Sandbox Code Playgroud)
JS
$(".like").click(function(event){
var postID = $(event.target).data('postid');
console.log(postID);
});
Run Code Online (Sandbox Code Playgroud)
我在控制台中返回未定义的内容.这里发生了什么?
使用$(this)而不是$(event.target):
var postID = $(this).data('postid');
Run Code Online (Sandbox Code Playgroud)
如果div中没有其他元素,则代码可以正常工作.
还要考虑比较target.event有this:
event.target启动事件的DOM元素.阅读更多
this在jQuery中,被执行的元素通常会传递给jQuery函数的函数参数.它可以通过使用成为jQuery元素对象$(this).阅读更多
您的代码变为:
$(".like").click(function(event){
var postID = $(this).data('postid');
alert(postID);
});
Run Code Online (Sandbox Code Playgroud)
HTML示例可以如下:
<div class="like" data-postid="903282304865jh"><i>A</i> Test</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3829 次 |
| 最近记录: |