2016-01-09 19 views
0

我想從a標記中提取onclick信息。我知道如何正常執行此操作,並且我已通過控制檯確認它可以正常工作。但是,通過擴展嘗試時返回null。這是可能的,通過擴展,如果是這樣的話:必須採用什麼奇怪的方法?通過Chrome擴展程序查看onclick數據

例子:

在頁面:<a href="#" onclick="something(stuff,otherstuff)">text</a>

我希望能夠抓住那個something(stuff,otherstuff)

然而,純JS沒有工作:String(document.getElementsByTagName("a")[10].onclick)

而且也沒有jQuery的:兩個以上工作的時候進入控制檯String($(".tableclass").find("tbody").find("a")[10].onclick)

+0

你知道谷歌開發工具有事件監聽器選項卡,也有獲取jQuery綁定元素的擴展:D –

+0

@AdamAzad那麼我想要做的就是動態讀取數據並修改錨標記。所以這不是我想要看的;我試圖操縱它。這不僅僅是一個,而是幾十個。 – Rhyono

回答

1

首先,你永遠無法閱讀onclick屬性由頁面設置,因爲擴展代碼在isolated scope中運行。

其次,即使代碼沒有被隔離,<a onclick="foo"></a>onclick屬性可能沒有您期望的值foo。這是因爲屬性與HTML屬性不同。

因此,如果您要訪問的onclick的字符串值屬性可以和應該使用linkElement.getAttribute('onclick');代替。

0

這是你的意思,你想改變鏈接的href?你可以這樣說:

HTML:

<a href='foo' class='link-to-swap'>link</a> 

的javascript:

$(document).ready(function(){ 
    $('.link-to-swap').click(function(e){ 
     e.preventDefault(); 
     var grabbedData = $(this).attr('data-id') 
     $(this).attr('href',grabbedData) 
     return false 
    }) 
}) 

這裏是小提琴: https://jsfiddle.net/cp6x9pf5/1/

+0

我想採取onclick的數據,重新安排到一個網址,然後把新形成的網址到href。 – Rhyono

+0

更新了小提琴。現在你可以從你想要的任何鏈接中獲取數據標籤,並用它來更新鏈接href。 – Adam

+0

這不是我做的主播;它不具有任何數據屬性。它只有一個onclick。 – Rhyono