将子元素从一个列表项复制到另一个列表项

时间:2012-05-10 09:04:10

标签: jquery

我有两个清单。无序列表和一组充当列表的div。无序列表有4个列表项,还有4个div。

我想要实现的是从每个div复制标题并将其放在每个列表项中。换句话说,第一个div的标题应该与第一个列表项的标题相对应。

到目前为止我能够实现的是循环div并提醒我要复制的标题,如下所示,但我不知道如何继续。

<div class="container">
    <div class="nav-list">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
        </ul>
     </div>
    <div class="tab-list">
        <div class="tab-item">
            <h3>To be copied</h3>
        </div>
        <div class="tab-item">
            <h3>To be copied</h3>
        </div>
        <div class="tab-item">
            <h3>To be copied</h3>
        </div>
        <div class="tab-item">
            <h3>To be copied</h3>
        </div>
    </div>
</div>


$('.tab-list .tab-item').each(function(index) {
    alert(index + ': ' + $(this).children('h3').text());
});

4 个答案:

答案 0 :(得分:1)

试试这个:

$('.tab-list .tab-item').each(function(index) {
    $('.nav-list').children('ul').children().eq(index).html($(this).children('h3').text());
});

答案 1 :(得分:0)

这个小提琴应该可以解决问题:http://jsfiddle.net/pndCd/

答案 2 :(得分:0)

试试这个:

var list = $('.nav-list li');
$('.tab-list .tab-item').each(function(i) {
    list.eq(i).text($(this).find('h3').text())
});

请参阅http://jsfiddle.net/EDpM7/

答案 3 :(得分:0)

试试这个:

$('.tab-list .tab-item').find('h3').each(function(index) {
    that = $(this).text();
    $('li').eq(index).text(that + $('li').eq(index).text())
});

http://jsfiddle.net/kuFDT/3/

你也可以克隆h3标签而不是复制他们的文本:

$('.tab-list .tab-item').find('h3').each(function(index) {
    that = $(this).clone();
    $('li').eq(index).before(that)
});

http://jsfiddle.net/kuFDT/14/