我有一个ul-list,含有不可预测的li元素(2到8之间的任何东西)。 我想使用这些li元素进行投票并显示点击元素本身的投票数量。我会使用类似的东西来捕捉点击次数:
$('#result li').click(function() {
$('#result li').html(function(i, val) { return val*1+1 });
});
但是,我怎么会需要构建我的html以确定哪个元素被点击了?
非常感谢。
答案 0 :(得分:0)
使用$(this):
$('#result li').click(function() {
$(this).html('I am clicked'); // of course, set the proper value here
});
见这里:
$('#result li').click(function() {
$(this).html(parseInt($(this).html(), 10) + 1);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="result">
<li>0</li>
<li>4</li>
<li>5</li>
<li>2</li>
<li>88</li>
</ul>
&#13;
答案 1 :(得分:0)
您希望使用点击事件上下文来获取this
这是个别元素。您可以直接使用节点,也可以转换为JQuery元素$(this)
。
如果您想要跟踪每个元素,请单击您可以绑定到其上下文并设置其单击的值。
$('#result li').click(function(){
this.clicked = this.clicked ? this.clicked + 1 : 1;
$(this).html(this.clicked);
});
这意味着您还可以在其他地方引用点击的值。
console.log($('#result li:eq(1)')[0].clicked);