JQ怎么获取指定点击的LI值

HTML代码部分
<ul class="sss>
<li data="1></li><li data="2"><li>
</ul>
JQ部分
var ul=$(".face_ul li")
ul.click(function(){
var str = ul.attr("data");
input.val( str );
});
但是总是获取不正确,假设有多值,总是获取的第一个
上面那段错了,在这里

var ul=$(".sss li")
ul.click(function(){
var str = ul.attr("data");
input.val( str );
});

引用方式错误,参考下面:

var ul = $(".sss li");
ul.click(function(){           
    var str = $(this).attr("data");
    // alert(str);  
    input.val(str);
});

你在click使用的是ul对象,而 ul = $(".sss li");  是一个Jq的筛选集合
所以 var str = ul.attr("data");每次默认选第一个
var str = $(this).attr("data"); 表示选取当前点击的(this)li的data属性

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
解决代码如下:
var index = $('#id li').index(this)
$("#hql").html($("#id li a:eq("+index+")").html());
第2个回答  2014-04-16
var ul=$(".sss li");
ul.click(function(){
var str = $(this).attr("data");
alert( str );
});