我有未知数量的div增加ID:
<div id="source-1" data-grab="someURL"/>Content</div>
<div id="source-2" data-grab="anotherURL"/>Content</div>
<div id="source-3" data-grab="anddifferentURL"/>Content</div>
<div id="source-4" data-grab="andthelastoneURL"/>Content</div>
我还有另一份清单:
<ul>
<li id="target-1" class="target"><a href="#"> </a></li>
<li id="target-2" class="target"><a href="#"> </a></li>
<li id="target-3" class="target"><a href="#"> </a></li>
<li id="target-4" class="target"><a href="#"> </a></li>
</ul>
现在,我想要实现的目标是从source-1抓取数据抓取URL并将其作为图像附加到target-1,依此类推。所以最后输出列表看起来就像:
<ul>
<li id="target-1"><a href="#"><img src="someURL" /> </a></li>
<li id="target-2"><a href="#"><img src="anotherURL" /> </a></li>
<li id="target-3"><a href="#"><img src="anddifferentURL" /> </a></li>
<li id="target-4"><a href="#"><img src="andthelastoneURL" /> </a></li>
</ul>
我正在抓取第一个列表中的所有数据,但我不确定如何将正确的源元素追加到正确的目标元素?
$(document).ready(function(){
$('.target').each(function(){
var URL = jQuery(this).data('grab');
});
});
答案 0 :(得分:4)
$(document).ready(function(){
$('.target').each(function(){
var $this = $(this);
var divID = "source-" + ($this.id()).split("-")[1];
$("a", $this).append('<img src="' + $(divID).data("grab") + '" />');
});
});
答案 1 :(得分:2)
如果向源元素添加类(如.source
),则可以使用索引选择正确的元素:
$(document).ready(function(){
var targets = $( '.target' );
$('.source').each(function(index, value){
$(target[index]).children("a").first().append($("<img src=" + value.data('grab') + " />"));
});
});