我想要"克隆全部"按钮克隆&将每个链接附加到#container。
但是,当您立即点击该按钮时,它只会在文档(www.google.com)中创建第一个链接的3个克隆,并跳过其他两个(www.facebook.com& www.youtube.com )。
我非常确定我需要使用数组。我试图将一个类(' .link')存储在一个数组中,我尝试使用each()方法 - 但我无法使其工作: - /
CodePen: http://codepen.io/StrengthandFreedom/pen/eZgbKq/
jQuery的:
var links = $('.link');
var hrefs = $(links).attr('href'); // grab a href attribute from links
var cloneAllLinks = $('.btn-clone-all-links');
$(cloneAllLinks).on('click', function(event) {
$(links).clone().text(hrefs).append('<li></li>').appendTo('#container');
});
有人能告诉我我在这里失踪了吗? : - )
答案 0 :(得分:2)
您需要将每个href属性值存储在数组中:
var linkArray = $('.link').map(function(index, link) { return $(link).attr('href'); });
然后,您可以遍历此数组,将每个项目写出到#container div:
$(cloneAllLinks).on('click', function(event) {
$.each(linkArray, function(index, val){
var linkTemplate = '<li>' + val + '</li>'
$('#container').append(linkTemplate);
})
});