我想我坚持这个。我想基于rel相似性将源的内容附加到其目标容器中。
<div class="targets">
<div class="target target-1" rel="1">container 1</div>
<div class="target target-2" rel="2">container 2</div>
<div class="target target-3" rel="3">container 3</div>
</div>
<div class="sources">
<div class="source source-1" rel="1">source 1 content to append to container 1</div>
<div class="source source-2" rel="2">source 2 content to append to container 2</div>
<div class="source source-3" rel="3">source 3 content to append to container 3</div>
</div>
因此要附加到容器1的来源1内容应附加到容器1
我试过了:
var rel_attr = $(this).attr('rel');
$('.source-' + rel_attr).appendTo('.target-' + rel_attr);
但无济于事。我一定错过了什么。
感谢您的帮助。
答案 0 :(得分:1)
它不起作用,因为$(this)没有指向某个地方。试试这个
jQuery('.sources .source').each( function () {
var content = jQuery(this).html(); //or .text();
var rel = jQuery(this).attr('rel');
jQuery('.targets .target-'+rel).html(content); // or .text() again;
jQuery(this).hide();
//use jQuery(this).html(''); if you do not want to hide the div
} );
答案 1 :(得分:0)
这对你有用:
$("div[class^='source-']").each(function() { var tmpRel = $(this).attr("rel"); var divClass= "target-"+tmpRel; $("div[class='"+divClass+"']").append($(this).html()); });
答案 2 :(得分:0)
$('.source').each(function()
{
$(this).appendTo($('.targets').find('div.target[rel='+$(this).attr('rel')+']'));
})
答案 3 :(得分:0)
如果你真的想从'sources'包装器中删除'source'DIV并放在相关的'target'DIV中,试试这个
$(".source ").each(function(){
var rel_attr = $(this).attr('rel');
$('.source-' + rel_attr).appendTo('.target-' + rel_attr);
});