点击任何一个,知道哪一个,做相应的事情

时间:2012-03-20 05:55:38

标签: jquery list

好的,所以我知道如何获取所有li项和索引,例如:

totalLi = $('.content li').length;
clck = $('li.content).index();

并写一些内容以允许点击任何li,例如:     $('。content li')。click(function(){something})

然而我似乎无法弄清楚我会怎样: “点击给定列表中的任何li,识别它是什么,并根据它将参数发送到可以激活其他内容的函数。”

我坚持的部分是通过使用:     #('。content li')。点击....我不知道如何用变量拉取索引值。我到处都是“这个”,但警告说只有[对象]返回,所以这是通用的。

我猜我应该将索引设置为变量,但可能不是?

我想要有一个动态例程,以便无论是5个还是15个li,我都可以点击它们中的任何一个并使某些事情发生。鲷鱼是我需要有一个上一个和下一个项目。我可以让那些显得足够简单,但迭代+1或-1似乎会干扰a,b,c,d等li(而不是数字,无论哪种方式,列表只是一个导航去通过问题,但任何数字都可以点击......它不是线性的)

我玩过.each()和第一个/结尾等等。我没有得到它?

5 个答案:

答案 0 :(得分:1)

$('.content li').click(function(){ 
    var ind = $(this).index();
})

这不起作用吗?

$('.content li').click()绑定每个li元素上的click事件。然后,当您引用$(this)时,它将指向触发click事件的元素,您可以直接使用该元素。它取决于你想要的:index(),text(),html()或任何其他属性。

答案 1 :(得分:1)

这可能会有所帮助:

http://jsfiddle.net/TRUYd/

答案 2 :(得分:1)

您应该使用/为每个li元素分配id,以便您确定单击哪个特定元素。非常像Dejan.S例子。

<ul>
  <li id="1">..</li>
  <li id="2">..</li>
  <li id="3">..
</ul>

$('li').click(function() {
    switch($(this).attr('id')) {
        case 1: alert('you clicked li #1'); break;
        case 2: ...do something else
        case 3: ...do something else
    }
});

答案 3 :(得分:0)

您可以通过$(this)点击当前点击的当前元素来获取您刚刚点击的当前元素

查看此示例http://jsfiddle.net/TKPNt/

<ul id="list">
<li id="1">value 1</li>
<li id="2">value 2</li>
</ul>

$('#list li').click(function(){
 alert($(this).attr('id'));
});​
​

您可以说是否需要更多帮助

答案 4 :(得分:0)

看看这个......

http://jsfiddle.net/TKPNt/2/