2010-02-26 51 views

回答

7

這是可能的語法點。

編輯:

<ul id="my_list"> 
    <li>item 1</li> 
    <li>item 2</li> 
    <li>item 3</li> 
</ul> 

和JS,

var $my_list = $('#my_list'); 
$my_list.find('li').click(function(){ 
    var index = $('ul#my_list li').index(this); 
    alert(index); 
}); 

這應該做您的需要。希望它有幫助,思南。

+0

完美謝謝! – 2010-02-26 12:54:16

+0

@Ad,不客氣,@Dominic,感謝編輯... – Sinan 2010-02-26 13:42:19

-1

僞代碼

$('ul > li').each(function(el) { 

    el.ClickEvent(function() { 

     alert(el.preceding-siblings.count() + 1); 

    }); 
}); 

類似的東西反正遺憾沒來得及使用jquery's index來獲得

+0

難道不會告訴你在'ul'裏面有多少''li',而不是'ul'裏點擊'li'的索引? – 2010-02-26 12:55:09

+0

錯誤是的,對不起,我的意思是前面的兄弟姐妹 – 2010-02-26 13:42:11

+0

我不認爲前面的兄弟姐妹是有效的jQuery - 我錯過了什麼嗎?你的意思是'prevAll'(http://api.jquery.com/prevAll/)? – 2010-02-26 14:12:48

-1
okie i have edited my answer do this 

$(function() 
{ 
    var _item=1; 
    $('ul li').each(function(){ 
    var _elm=$(this).attr('_elm',_item); 
    }).bind('click',_handle); 
    _item++; 
}); 

function _myClick(e) 
{ 
    var _yourValue=$(e.target).attr('_elm'); 
    //this is the value u were looking for 
} 
+0

這甚至不會做Ad Taylor所要求的... – Kennethvr 2010-02-26 12:51:11

+0

@keeth此代碼將解決他的問題 – 2010-02-26 19:35:13

2

,你可以將它們分配ID,如

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

則:

$("li").live('click', function(){ 
alert($(this).attr("id")); 
} 

或沒有ID作爲思南說:

$("li").live('click', function(){ 
    alert($("li").index(this) + 1); 
    } 

1,因爲索引從0

+0

沒有'ul'上的id,這幾乎肯定不會做他想做的事情(請參閱我的回答)。 – 2010-02-26 13:12:44

+0

@Dominic Rodger是的,我看到了你的答案,他得到了他所要求的答案..所以我不打算更新一個問題.. tnx指出了我,儘管..它可能只是對我來說不久 – ant 2010-02-26 13:21:03

2
開始
$("ul#your_ul li").click(function() { 
    // this is the dom element clicked 
    var index = $("ul#your_ul li").index(this) + 1; 
}); 

你需要給你ul要做到這一點對一個ID - 否則它會在所有li S的職責範圍內ul迴歸的li的指標,這是不是你想要的。

相關問題