2011-05-13 62 views
2

我有一個div內的鏈接列表。我試圖單擊該div之外的按鈕,並在屏幕上顯示div內的每個鏈接以及頁面上的鏈接數量。不太清楚如何做到這一點..如何找到一個div中的所有鏈接,將它們添加到DOM並給出鏈接計數

JS

$(function() 
{ 
$('#button').click(function() 
{ 
    $('#links a').each(function() 
    { 
     var count = $('#links a').length; 
     $(this).appendTo('#results'); 
     $('span').text('there are ' + count 'links'); 
    }); 
}); 

}); 

HTML

<a href="#" id="button">button</a> 
    <div id="links"> 
    <a href="#">one</a> 
    <a href="#">two</a> 
    <a href="#">three</a> 



    </div> 
    <div id="results"></div> 

回答

4

本打印的結果DIV的鏈接數量:

$('#button').click(function(){ 
     var count = $('#links a').length; 
     $('#results').text('there are ' + count + ' links'); 
}); 

這樣的舉動所有鏈接到另一個div:

$('#button').click(function(){ 
     var elements = $('#links a') 
     $('#results').append(element); 
}); 

結合這將是(以正確的順序:)

$('#button').click(function(){ 
     var count = $('#links a').length; 
     $('#results').text('there are ' + count + ' links'); 
     var elements = $('#links a') 
     $('#results').append(element); 
}); 

或:

$('#button').click(function(){ 
     var elements = $('#links a'); //<-- grab all links 
     $('#results') //<-- select the target div 
      .text('there are ' + elements.length + ' links'); //<-- set count 
     $('#links2').append(elements) //<-- put links in another div 
}); 

live test here

+0

的感謝!所以..我想我不需要使用。每個因爲我沒有綁定到每個鏈接的事件?我會接受答案ASA它讓我 – dzilla 2011-05-13 18:20:38

+1

事實上,jQuery選擇器的強大之處在於,您可以一次選擇一組元素並立即採取行動,而無需自行循環。 ;) – 2011-05-13 18:21:51

+0

現在如果我想獲得#links div中的鏈接列表,該怎麼辦?會這樣.. $('#results')。append.html(this)? – dzilla 2011-05-13 18:24:18

相關問題