这真的很难解释。我在表格中有一些带有id的div
<table id="dgAvailable">
<tr> <td> <div id="HEYD"> </td> </tr> <tr> <td> <div id="HANW"> </td> </tr>
</table>
我需要用这个内容填充这些div
<div class="evenprop"><h3>Hanworth</h3><span class="locid" style="display:none">HANW</span></div>
<div class="evenprop"><h3>Heydon</h3><span class="locid" style="display:none">HEYD</span></div>
所以我需要获取包含与我的其他div相同id的locid的div然后在表dgAvailable中的div中插入html
$('#dgAvailable > tr > td > div').each(function(){
if $(this).attr('id') = $('.evenprop > .locid').attr('id') {
$(this).html() = $('.evenprop > .locid').parent().html()
});
我真的没有其他方式来描述这个吗?
由于
杰米
答案 0 :(得分:4)
应该这样做。
$('.locid').each(function(){
$('#'+$.trim($(this).text())).html(this.parentNode.cloneNode(true));
});
答案 1 :(得分:2)
试试这个:
$("div.evenprop .locid").each(function() {
$("#" + this.innerHTML).html($(this).parent().clone());
});
You can try out a demo against your markup here
如果您可以控制其他标记,可以使用数据属性清理它,如下所示:
<div class="evenprop" data-locid="HANW"><h3>Hanworth</h3></div>
<div class="evenprop" data-locid="HEYD"><h3>Heydon</h3></div>
然后你的jQuery也会变得更简单,就像这样:
$("div.evenprop").each(function() {
$("#" + $(this).attr('data-locid')).html($(this).clone());
});
或者,如果您不需要旧节点并且只想移动它,请使用.append()
,如下所示:
$("div.evenprop").each(function() {
$("#" + $(this).attr('data-locid')).append(this);
});