我正在开发一个包含标签的列表,每个列表可以包含一个或多个标签。
我尝试使用多个" a"来遍历现有列表。每个列表的标签,获取href值和每个文本的文本,并将它们作为一个变量返回到新列表中使用。我将通过最终隐藏现有列表来替换现有列表。看看我在下面的尝试方式。这有用吗?我错过了一些明显的东西吗?
$('existing-list-element').each(function(){
var testVar = $('a').each(function(){
var thisText = $(this).text();
var thisHref = $(this).attr('href');
var newTag = $('<a href="'+ thisHref +'">'+ thisText +'</a>')
return newTag
});
var newList = $('<div class="new-list-element"><span class="tags">'+ testVar +'</span></div>')
$(this).hide(); //hides the existing list
$('container-for-both-lists').append(newList);});
答案 0 :(得分:1)
你必须循环列表的锚点,现在你在每个列表迭代中循环所有锚点,同时,构建一个包含所有新锚点的html字符串并立即追加它们,尝试:
$('existing-list-element').each(function() {
var tags = "";
$("a", this).each(function() {
var thisText = $(this).text();,
thisHref = this.href,
newTag = '<a href="'+ thisHref +'">'+ thisText +'</a>'
tags += newTag;
});
var newList = '<div class="new-list-element"><span class="tags">'+ tags +'</span></div>';
$(this).hide(); //hides the existing list
$('container-for-both-lists').append(newList);
});