2013-05-03 122 views
0

我在我的網頁上有一個列表。當有人點擊列表項目時,應執行一些JavaScript。例如警報。我得到一個幾乎空白頁這方面的工作,例如看到這個代碼:jQuery onclick沒有被觸發

<ul class="uniquelist"> 
     <li id="1">clickable 1</li> 
     <li id="2">clickable 2</li> 
     <li id="3">clickable 3</li> 
     <li id="4">clickable 4</li> 
     <li id="5">clickable 5</li> 
    </ul> 

    $(document).ready(function(){ 
    $('.uniquelist li').click(function(){ 
     var id = $(this).attr('id'); 
     alert(id); 
    }); 
    }); 

http://jsfiddle.net/6Wafk/1/

如果我把這段代碼中有很多更多的代碼我的「完整」的網頁,這是行不通的了。在這裏發佈所有的代碼是有點多,所以我希望有人有我需要看的地方的一些線索。

該列表的類別是非常獨特的,沒有其他具有相同類別的元素。

編輯: 該頁面在頁面加載後加載。這是我的自動完成的輸出!

+1

也許你正在加載頁面後添加列表? – MMeersseman 2013-05-03 10:33:50

+0

你有錯誤信息嗎?具有相同類別的其他元素不應該破壞此代碼。 – 2013-05-03 10:38:59

+1

你說過,'如果我把這段代碼放到我的「完整」網頁中,代碼多得多,它就不再工作了。所以,基本上你會向我們展示**作品**的部分,而不是實際的作品?即**線索**?請注意您應如何命名您的ID:http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier – 2013-05-03 10:41:43

回答

1

如果你的頁面加載後加入列表中,您需要使用on()

$(document).ready(function(){ 
    $('body').on('click', '.uniquelist li', function(){ 
    var id = $(this).attr('id'); 
    alert(id); 
    }); 
}); 

body任何方興未艾的選擇也許交換本網頁上加載時 - 你選擇的選擇越近,越少的DOM遍歷jQuery將不得不這樣做。

+0

我找到了我的答案,只是在答案出現的時候寫下來!所以我會將你的答案標記爲答案! TNX! – Timo002 2013-05-03 11:22:15