2014-05-16 41 views
1

我正在動態地向每個鏈接啓動模式的頁面添加鏈接。jquery獲取父類的實例

我需要找到鏈接的哪個實例啓動模式以顯示正確的信息。

,所以我有

<div class='linkHolder'><a href='#' data-toggle='modal' data-target='#myModal' class='modalLink'>View</a>" 

我試圖找到它是在頁面上通過獲取類linkHolder的次數哪一個環節。

與此:

function testindex() 
{ 
    var test = ($(this).parent('.linkHolder').index()); 
    alert(test); 
} 

點擊鏈接可啓動該警報,但它始終是-1 /未發現

感謝

+0

這是一個錯字或你閉上你的DIV - 它看起來好像你正在整理無論是打印HTML在關閉div之前(因爲行尾有雙引號) - 這可能是您的問題 – Pete

+0

抱歉,這是因爲我已經從字符串中複製了它,並且最後的報價正在關閉它。它在頁面上呈現正確關閉 – user3641778

回答

0

如你動態地添加這些鏈接,我會在你的文檔加載附加使用on click事件本身:

$(document).on('click', 'a.modalLink', function(e) { 
    e.preventDefault(); 
    alert($(this).parent('.linkHolder').index()); 
}); 

Example

你的函數的問題是y OU沒有通過this到它,所以它不知道什麼$(this)

編輯

根據你的評論,如果你只是尋找的指數,其中linkHolder可以在任何DIV試試這個:

$('.linkHolder').index($(this).parent('.linkHolder')); 

Example

+0

謝謝,我的頁面結構更像這樣:http:// jsfiddle。net/yAR73/ 所以我需要知道它在頁面上的任何位置 – user3641778

+0

@ user3641778更新了我的答案 – Pete

0

嘗試:

的jQuery:

$("button").click(function() { 
    var myIndex = $(this).parent().prevAll().length; 
    alert(myIndex); 
}); 

HTML:

<div class="myClass"><button type="button">Click me</button></div> 
<div class="myClass"><button type="button">Click me</button></div> 
<div class="myClass"><button type="button">Click me</button></div> 

DEMO

+0

謝謝,如果它們都在相同的父分區內,這隻會工作嗎? – user3641778

+0

嗨,沒問題。我的代碼做的是它從點擊元素上升到一個級別並收集兄弟元素。這是你想要的? – martynas

+0

他們不一定是兄弟姐妹,但他們將與div類內linkHolder 所以可能有10個div.linkHolder頁面上的任何地方,每個與1 a.modalLink – user3641778