2013-08-18 43 views
0

我在下面的方式構建一個HTML文檔遍歷HTML ,但我想綁定到next-sectionprev-section一個click行爲來調用goLeftgoRight,但我不知道如何通過$(this)對象訪問它們。有人有一個想法如何去他們?

感謝

+0

只是一些筆記你:你可以在jQuery中使用鏈式方法調用。它帶給你一些優化。像$(this).bind(「ss」,ss).bind(「dd」,dd);另外,請注意,在jquery中稱爲「綁定」方法被棄用。您應該使用「on」mtthod來提供與當前jquery版本更好的兼容性。 –

回答

5

使用不同的選擇爲他們:

$(this).find("#prev-section").click(goLeft); 

$(this).find("#next-section").click(goRight); 

注意,你必須使用相同ID的多個元素(#分組節,#下一段),但ID爲應該在整個DOM上是唯一的。將其替換爲類或數據短劃線屬性(例如,您用於role=page的那個)。

+0

我想,你沒有得到這個問題。關鍵是從當前上下文中獲取這些NodeElement,而不僅僅是綁定click事件並獲取一些上下文。 –

+0

@VladislavQulin我不能在問題中看到它。你的意思是每個「:jqmData(角色='頁面')」是這種鏈接的父母(具有相同的ID!)? – Itay

+0

是的,這是個問題。看,他走遍了一些節點,爲所有內部鏈接附加事件監聽器並阻止自己。所以問題是從當前塊的上下文獲得需要的鏈接。 –

2
$('#next-section').bind('click', goRight); 
$('#prev-section').bind('click', goLeft); 

$('a.next-section').bind('click', goRight); 
$('a.prev-section').bind('click', goLeft); 

$(this).children('#next-section').bind("swipeleft" goLeft); 
$(this).children('#prev-section').bind("swipeleft", goRight); 

$(this).find('#next-section').bind("swipeleft" goLeft); 
$(this).find('#prev-section').bind("swipeleft", goRight); 
+0

您是否曾經在代碼中使用過這種選擇器(#接下來的部分)。 Id選擇器應該獨奏。 –

+0

@VladislavQulin噢糾正:) –