用另一个列表项目内容替换列表中的元素
问题描述:
我想用第二个列表项目内容替换第一个列表项目内容sid
,即使用jQuery循环的sid1=newsid1
。用另一个列表项目内容替换列表中的元素
列表1有sid
这是div
里面我想从其他列表项目内容中取代。
<ul class='list1'>
<li>
<div>name</div>
<div>sid1</div>
<div>role</div>
</li>
<li>
<div>name2</div>
<div>sid2</div>
<div>role2</div>
</li>
<li>
<div>name3</div>
<div>sid3</div>
<div>role3</div>
</li>
<li>
<div>name4</div>
<div>sid4</div>
<div>role4</div>
</li>
</ul>
<ul class='list2'>
<li>new sid1</li>
<li>new sid2</li>
<li>new sid3</li>
<li>new sid4</li>
</ul>
答
试试这个:
$('.list2 li').each(function(index){
$('.list1 li:nth-child('+(index+1)+') div:nth-child(2)').text($(this).text());
});
阅读nth-child selector
上http://api.jquery.com/nth-child-selector/
答
尝试这种
$('.list1 > li > div:eq(1)').text($('.list2 > li:first').text());
这里,
$('.list1 > li > div:eq(1)')
=>选择的<li>
的第二<div>
。 text()
=>获取该选择器的文本。$('.list2 > li:first').text()
=>获得第一个<li>
的文本从<ul>
与班级list2。.text($('.list2 > li:first').text());
=>用第一个代替第二个<div>
的文本。<li>
其仅更换第一单。它应该取代所有其他人也喜欢sid2 =新sid2,sid3 =新sid3,sid4 =新sid4等 – sAnS 2013-03-12 08:24:21
@santanukumar现在检查我的答案一次。 – 2013-03-12 08:27:40
我们可以使用list1来循环它,就好像在list1或list2中可以有更少或更多的项目不存在一样。 – sAnS 2013-03-12 08:35:34