2013-07-22 98 views
0

我正在編寫腳本,應該在任何祖先上找到onclick屬性。獲取祖先onclick屬性

例如,當我在span.tabIdent單擊希望得到錨的onclick(我觸發它以後)

HTML:

<a class="t3 lin tab-B" rel="#categoriesLinux" rev="lin" onclick="changeTab()"> 
    <span class="tabLeft" style=""></span> 
    <span class="tabCenter" style=""> 
    <span class="tabIdent" style=""></span> 
    </span> 
    <span class="tabRight"></span> 
</a> 

JS:

var foo, 
    foo2, 
    przodek, 
    parentsCount = jQuery(that).parents().length, 
    przodek = jQuery(that); //it's ok here 

for(var ii=0; ii<parentsCount; ii++){ 
    przodek = jQuery(przodek).parent(); 
    foo = jQuery(przodek).prop('nodeName'), 
    foo2 = jQuery(foo).attr('onlick'); 
    console.log(foo+' : '+foo2); 
} 

它返回無處不在「未定義」。 這有什麼問題?

+0

好,我知道了。 dupa2 = jQuery(dupa).attr('onlick'); 應該是 dupa2 = jQuery(przodek).attr('onlick'); 真是太遺憾了。謝謝大家。 –

+0

@你能寫這個答案嗎? –

+1

這個問題似乎是無關緊要的,因爲它對將來的訪問者絕對沒有幫助 –

回答

2

你讓一個拼寫錯誤:onlickonclick

+0

對,謝謝,但事實並非如此。仍然不工作:) –

0

你可以簡單地這樣做......

$('.tabIndent').on('click', function() { 
    var anchor = $(this).closest('a'); 

    console.log(anchor.prop('nodeName') + ' : ' + anchor.prop('onclick')); 
}); 
+0

我不能。這僅僅是一個例子。它應該適用於任何頁面和元素。不僅此.tabIndent和anchor –

+0

您可以使用數據標籤來突出顯示您正在使用的元素嗎?如span-data-parent ='a'? –

+0

我不能觸摸HTML。我只寫腳本。 –