2012-08-13 110 views
2

我知道下面的函數來觸發點擊:jQuery的點擊一個鏈接編程

var link = $("#linkId"); 
    link.click(); 

但對我來說我不有編號,但我有name屬性,所以我用:

var link = $('a[name=content_'+params['p']+']'); 
link.click(); 

但它沒有點擊,上面的代碼有什麼問題。如果我使用身份證,它工作正常。

+1

你的選擇可能是不正確的。確保''a [name = content _'+ params ['p'] +']''的結果是指現有的元素。另外,調用'.click'只會執行事件處理程序,它不會讓瀏覽器跟隨該鏈接。 – 2012-08-13 11:18:10

+1

@FelixKling僅僅因爲jQuery沒有專門在'a'元素上調用本地方法'.click()'的特殊條件。 http://jsfiddle.net/HB6X5/5/:P如果默認操作未被阻止並且目標元素具有本地方法,它會在其他類型的元素(原生.click()方法)上調用它。 – Esailija 2012-08-13 11:29:56

+0

@Esailija:哈,學到了新東西:)非常感謝! – 2012-08-13 11:32:04

回答

0

,直到你click事件綁定到你不能觸發點擊通過程序中的錨標記。

你可以這樣做:

var link = $('a[name="content_'+params['p']+'"]'); // change the selector with encloses quote 
link.click(function() { 
    // do something 
}); 

然後通過觸發點擊事件:

link.click(); 
2

我假設你確實有綁定到匹配的鏈接點擊事件。如果是這樣的......

隨着屬性選擇,如果該值什麼事情比的字母序列更加複雜(例如包括下劃線或其他標點符號字符),其用引號包圍。

var link = $('a[name="content_'+params['p']+'"]'); 
0

確保您得到您的選擇元素嘗試調試它
$("[attributename='value']")會告訴您正確的元素