我有5个(可能更多)li元素。
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
我想要点击哪些元素( 哪一行 )。如果随机用户点击两个,我想获得$("li:eq(1)")
(按键入)。
我怎样才能得到这个结果?
答案 0 :(得分:4)
您可以使用jQuery.index
。像这样:
$('ul > li').click(function() {
alert($(this).index($(this).parent('li'));
});
答案 1 :(得分:1)
$("#ulId li").click(function() {
$(this).something(); //the clicked li is $(this), and you can invoke functions on it.
})
答案 2 :(得分:1)
您可以使用以下命令获取所点击项目的文本节点值:
$('li').click(function(){
var clicked = $(this).text();
alert(clicked+" was clicked");
});
答案 3 :(得分:1)
工作示例:http://jsfiddle.net/tbugV/1/
$("#mylist li").each(function(index)
{
$(this).data("row", index);
}).
click(function()
{
alert($(this).data("row"));
});
答案 4 :(得分:1)
如果您为元素提供了诸如
之类的ID<ul id="mylist">
<li id="el_1">One</li>
<li id="el_2">Two</li>
<li id="el_3">Three</li>
<li id="el_4">Four</li>
<li id="el_5">Five</li>
</ul>
然后,您可以在$(this).attr(id)
处理程序中使用click
来确定所单击元素的ID。这也可以为你的元素提供非顺序的id,并且会从你获得的实际值中分离<li>
中写的内容。
此外,您可以在id中编码多个值(例如el_5_3
),这有时可能很有用。
$("#mylist li").click(function()
{
var id = $(this).attr("id").split("_");
alert("You clicked the element with id="+id[1]);
});
答案 5 :(得分:0)
$('html').click(function() {
var el = e.target;
alert(el);
});
答案 6 :(得分:0)
由于人们只是不断发布代码而没有解释,我会尝试相反的方式......
在单击元素的范围内调用click事件处理程序,因此您可以使用this
关键字来访问该元素。您可以使用$(this)
来获取包含被点击元素的jQuery对象,以便您可以在其上使用jQuery方法。
示例:
$(document).ready(function(){
$('ul li').click(function({
var text = $(this).text();
alert('You clicked on the item with the text "' + text + '"');
}));
});
答案 7 :(得分:0)
$('li').click(function(){
alert($(this).html());
});
当用户点击一个按钮时,此代码会发出警告。