我正在尝试从div链接获取链接并将它们添加到div links2,保持div链接的链接方式和div links2中的链接在每个链接后带<br />
你在说什么!?! 好吧,让我们来看看:
HTML:
<div id="links">
<a href="#">one</a>
<a href="#">two</a>
<a href="#">three</a>
</div>
<div id="results"></div>
<div id="links2"></div>
JS:
var elements = $('#links a');
$('#results')
.text('there are ' + elements.length + ' links');
$('#links2').append(elements)
好的,所以忽略结果div,这只是显示总共有多少链接。
现在我已经附加,这是完全删除div链接的链接。我怎么能这样做它只是添加链接到links2与每个链接之间的br。
所以最后的输出会打印出这样的东西:
<div id="links">
<a href="#">one</a>
<a href="#">two</a>
<a href="#">three</a>
</div>
<div id="results">there are 3 links</div>
<div id="links2">
<a href="#">one</a><br />
<a href="#">two</a><br />
<a href="#">three</a><br />
</div>
更新小提琴:(需要添加br仍然) http://jsfiddle.net/upLg4/44/
答案 0 :(得分:2)
在追加到其他元素
之前,您必须.clone()
$('#links2').append(elements.clone())
对象elements
引用div#link
内的一组锚标签,因此通常追加会在遇到引用其他元素/选择器的对象时将元素从一个位置移动到另一个位置。这就是为什么我们必须手动克隆它。
答案 1 :(得分:2)
使用after()
方法在每个链接后添加<br>
,如下所示。
var elements = $('#links a');
$('#results').text('there are ' + elements.length + ' links');
$('#links2').append(elements.clone());
$('#links2 a').after('<br />'); // use this line to add <br>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="links">
<a href="#">one</a>
<a href="#">two</a>
<a href="#">three</a>
</div>
<div id="results"></div>
<div id="links2"></div>