2014-01-16 55 views
0

我有一个HTML元素,其中包含跨度包含作者的文本名称,我需要将作者姓名的每个范围分别列出li元素列表如何使用JQuery做到这一点?通过childs JQuery循环,并添加到另一个列表

var all_author_names = $('.postcontent .entry_content #author-name'); // get list of spans containg names 
var li_to_modifiy = $('.entry_meta > li:nth-child(3)') // gets list of li elements that I need to add each name respectively 

编辑:

简体HTML:

<div class="postcontent nobottommargin clearfix"> 
    <ul class="entry_meta clearfix"> 
     <li class="hide"></li> 
     <li></li> 
     <li><span>|</span><a href="#"><i class="icon-link"></i>Permalink</a></li> 
    </ul> 
    <span class="page-divider"><span></span></span> 
    <div class="entry_content"> 
     <p></p><div class="entry_image"> 
     <span id="author-name" class="hide">Karen Hutchins</span> 
    </div> 
</div> 

</div> 

注:postcontent类是自动生成的,我有很多的它,而不是唯一的一个。

为了把事情说清楚:

1-让利all_author_names包含这个网站:

<span>my name</span> 
<span>other name</span> 
<span>your name</span> 

2 - 我需要的postcontent类中的每个li元素有相关的一个跨度到其索引,所以结果将是:

<div class="postcontent nobottommargin clearfix"> 
    <ul class="entry_meta clearfix"> 
     <li class="hide"></li> 
     <li><span>my name</span></li> 

其他postcontent类

<div class="postcontent nobottommargin clearfix"> 
    <ul class="entry_meta clearfix"> 
     <li class="hide"></li> 
     <li> <span>other name</span></li> 
+0

你能后置HTML? – tilda

+0

问题不是很清楚,你的邮政编码比较好。 –

+0

我发布了HTML。 –

回答

1

但我猜,你想是这样的:

var all_author_names = $('.postcontent .entry_content #author-name'); // get list of spans containg names 
var li_to_modifiy = $('.entry_meta > li:nth-child(3)') // gets list of li elements that I need to add each name respectively 

all_author_names.find('span').each(function(a,b){ 
console.log(b.text()); 
}); 

li_to_modifiy.find('li').each(function(a,b){ 
console.log(b.text()); 
}); 

修订回答您更新的问题:

$('.postcontent').each(function(a,b){ 
    $(b).find('li:eq(1)').html('<span>'+$.trim($(b).find('#author-name').text())+'</span>'); 
    console.log($.trim($(b).text())); 
}); 

看到JSFiddle

+0

工作,但给每个李相同的作者的名字! –

+0

请注意,它仅在将'.entry-meta> li:eq(2)'更改为'.entry_meta> li:nth-​​child(3)'时才有效' –

+0

仍给出相同的作者姓名,而不是使用li: eq(2)但是对li:n-child(3)做了。我虽然给了+1! –