2014-01-09 84 views
-1

必須有一些心理障礙,我只是沒有得到...我的整個網站工作正常,但動態創建的鏈接與ID不是。我的代碼中出現了一些錯誤...它很簡單,但它不起作用,請告訴我我愚蠢的錯誤(我知道這很簡單)。jQuery不適用於簡單腳本

因此,例如,這將是一個生成的鏈接:

<a href="#" id="himan">Hi</a> 

,然後我有此腳本:

$(document).ready(function() { 
$(document).on('click','#himan',function(){ 
alert('hi'); 
}); 
}); 

但沒有任何反應,我沒有錯誤......我失去了,也許我的咖啡今天不工作。有人能幫我嗎?

+0

是頁面上包含的jQuery? –

+0

你的jQuery版本是什麼?因爲它正在工作:http://jsfiddle.net/Nz2V9/ –

+2

嘗試:$('#himan')。on('click',function(){...}); –

回答

2

Here is demo

它工作完美:

$(document).ready(function() { 
    $(document).on('click', '#himan', function() { 
     alert('hi'); 
    }); 
}); 

原因可能是重複的ID,必須與特定的ID只有一個元素,因爲ID是在頁面上獨一無二的,如果你添加多個元素使用類而不是id。

+0

即使您對重複ID的使用是正確的,但使用委託並不會「阻止」代碼並仍然有效:http://jsfiddle.net/Nz2V9/2/ –

+0

AH-HA!愚蠢的鉻決定隨機屏蔽我的網頁上的提醒... – dprogramz

+0

也是類的事情結束了清潔執行,我知道這一點,但忘了,謝謝! :-D – dprogramz

1

處理的click事件上#himan本身...

function initializeDynamicLinks() { 
    $('#himan').on('click',function(){ 
     alert('hi'); 
    }); 
} 

$(document).ready(function() { 
    initializeDynamicLinks() 
}); 

這裏你可以看到它的工作:http://jsfiddle.net/digitalextremist/emUWL/

重辦initializeDynamicLinks()當你動態地添加鏈接。

And ...由於已經多次在評論中指出,您需要確保#himan只在您的源代碼中出現一次,以確保所有內容都能正常工作。

+0

的原因,這並不能解釋爲什麼他的代碼無法正常工作。 –

+0

不,你不需要它的元素本身。 – epascarello

+1

可能不會工作,因爲錨是動態創建的,如果你把他的代碼放在小提琴中,它也可以工作 – Huangism

相關問題