2011-01-14 50 views
1

什麼是找到元素索引的正確方法。我使用的是一個div,它將一個新的div附加到一個容器中,並且我必須「有」一個基於索引的新ID - 這可以在稍後對刪除函數進行簡單的索引。也就是說我可以只運行一個each function更新ID的jquery查找下一個索引

這是我的代碼: - 我想找到.pollq類的索引時#addoption點擊

$('#addoption').live('click',function(){ 
    var index = index('.pollq'); 

    alert(index); 

    $(this).parent('form').append('<br /><label for="">Option #'+($('.pollq').length+1)+'</label><input type="text" id="polloption'+($('.pollq').length+1)+'" class="pollq generate" />'); 

    $('#pollpreview').append('<br /><input type="radio"><span class="polloption'+($('.pollq').length)+'">Options polloption'+($('.pollq').length)+'</span>'); 

}); 
+0

如果你能提供一些HTML,請做。 – Reigel 2011-01-14 08:46:08

+0

@Reigel - 抱歉錯過了您的評論。 html很容易只是2「容器」的div - 形式&#pollpreview – 2011-01-14 08:55:14

回答

2
$('#addoption').live('click',function(){ 
    var i = $(this).parent('form').find('.pollq').length; 
    var id = "polloption"+i; 

    $(this).parent('form').append(
     '<br /><label for="'+id+'">Option #'+i+'</label><input type="text" id="'+id+'" class="pollq generate" />' 
    ); 

    // note that this should be a <label>, too 
    $('#pollpreview').append(
     '<br /><input type="radio"><span class="'+id+'">Options '+id+'</span> 
    '); 
}); 
0

這會給你一個元素的索引與類「pollq」,相對於它的容器:

var index = $('.pollq').index(); 

這就是你想要的嗎?

即指數將是 「2」,在下面的例子:

<div> 
    <div class="something"></div> 
    <div class="something-else"></div> 
    <div class="pollq"></div> 
</div> 
+0

@大衛 - 這是我認爲,但它是給我「愚蠢的」數字,即總是一個索引7但只有2「靜態」pollq的 - 奇怪? – 2011-01-14 08:37:57