2014-10-01 48 views
-1

我已經通過Simulate a click on 'a' element using javascript/jquery但它沒有幫助。使用javascript單擊'a'元素

我對運行的代碼是

<a target="gsft_main" id="9ddfe6c10a0a0b7e0062ccf1e8afc011" data-cancelable="true" class="menu" href="discovery_status_list.do?sysparm_userpref_module=9ddfe6c10a0a0b7e0062ccf1e8afc011">Status</a> 

我在下面的代碼

document.getElementById('9ddfe6c10a0a0b7e0062ccf1e8afc011').click() 

執行,但它不工作。我也試過

$('#9ddfe6c10a0a0b7e0062ccf1e8afc011').trigger('click') 

沒有成功。如果我跑

document.getElementById('9ddfe6c10a0a0b7e0062ccf1e8afc011') 

它返回null。

+1

如果你得到空,那麼執行該代碼時該元素不存在。請先檢查一下。 – zvona 2014-10-01 11:42:39

+0

什麼是data-cancelable =「true」在做什麼? – Keith 2014-10-01 11:43:27

+0

這與JSON有什麼關係? – 2014-10-01 11:43:50

回答

0

直接觸發'a'元素在這種情況下不起作用。如果您將文本換成跨度並在跨度上觸發點擊事件,則應該起作用。

<a id="test" href="http://stackoverflow.com"><span>Status</span></a> 

和使用jQuery:

$('#test span').trigger('click'); 

,如果你得到的document.getElementById( '9ddfe6c10a0a0b7e0062ccf1e8afc011'),你可能做了一個錯字空...

+0

無法跨越它,因爲我還沒有創建此網站。我試圖自動點擊該鏈接後,每5秒或所以,我試着從chrome提供的控制檯中,我也嘗試過'document.getElementById('9ddfe6c10a0a0b7e0062ccf1e8afc011').href',但是它也返回null,但是當我手動點擊那個鏈接時它運行良好。在編寫腳本時,我不確定很多事情,但是由於我知道編碼,所以我可以讓我的腦袋圍繞幾個:) – user2683109 2014-10-01 17:15:40

+0

嘗試:$('#9ddfe6c10a0a0b7e0062ccf1e8afc011')[0] .click();這也應該起作用。 – Willem 2014-10-01 18:38:24

+0

我得到'TypeError:無法讀取null的屬性'0'如果我正常運行該命令,它總是返回'null'。我想可能是這個問題。當我簡單地執行$('#9ddfe6c10a0a0b7e0062ccf1e8afc011')'時,它給出'null' – user2683109 2014-10-01 19:54:23