我有
<li class="live_item" data-id="1">
<span class="number">1</span>
<i class="fa fa-television" aria-hidden="true"></i>
<label>Test</label>
</li>
这个
$(".live_item").on("click",function(){
alert($($(this).data("id")));
});
你能告诉我为什么重新调整一个物体而不是数字1吗?我做错了什么?
答案 0 :(得分:2)
删除$
方法中的额外alert()
符号...
$(".live_item").on("click",function() {
alert($(this).data("id"));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="live_item" data-id="1">
<span class="number">1</span>
<i class="fa fa-television" aria-hidden="true"></i>
<label>Test</label>
</li>
&#13;
答案 1 :(得分:2)
问题是您将$(this).data('id')
的返回值传递给$
jQuery函数。这会将值转换为jQuery对象。这就是警报显示[object Object]
而不是数据id
值的原因。
$(".live_item").on("click",function() {
alert($(this).data("id"));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="live_item" data-id="1">
<span class="number">1</span>
<i class="fa fa-television" aria-hidden="true"></i>
<label>Test</label>
</li>
</ul>
&#13;