2

考虑以下代码:

<div class="left">
    <img class="img" src="stone1.png"/>
</div>
<div class="center">
    <img class="img" src="stone2.png"/>
</div>
<div class="right">
    <img class="img" src="stone3.png"/>
</div>

现在,我想用 jQuery 创建这个标签:

<a href="#" data-r="start" data-a="fade"></a>

并将每个 div 放入标签 a 以创建此代码:

<a href="#" data-r="start1" data-a="fade">
    <div class="left">
        <img class="img" src="stone1.png"/>
    </div>
</a>
<a href="#" data-r="start2" data-a="fade">
    <div class="center">
        <img class="img" src="stone2.png"/>
    </div>
</a>
<a href="#" data-r="start3" data-a="fade">
    <div class="right">
        <img class="img" src="stone3.png"/>
    </div>
</a>

怎么做?

4

5 回答 5

4

你可以使用.wrap方法

 $('div').each(function(i) {
      $(this).wrap('<a href="#" data-r="start'+ (i+1) + '" data-a="fade">');
 });

检查小提琴

于 2013-06-04T06:22:58.337 回答
2

使用.wrap()

$('.left, .center, .right').wrap(function(idx){
    return '<a href="#" data-r="start' + (idx + 1) + '" data-a="fade"></a>'
})

演示:小提琴

于 2013-06-04T06:30:52.437 回答
0

试试这个代码:

$('.img').parent().wrap('<a href="#" data-r="start" data-a="fade"></a>');

它选择具有类的元素的所有父元素,.img并将元素包装在指定的标记中。

于 2013-06-04T06:23:18.473 回答
0

像这样使用

var i = 1;
$("div").each(function(){
var elem = $("<a/>").html(this);

elem.attr("href","#");
elem.attr("data-r","start"+i);
elem.attr("data-a","fade");

i++;console.log(elem);
});

看演示

于 2013-06-04T06:25:16.517 回答
0

试试这个:

$('.left').wrapAll('<a href="#" data-r="start" data-a="fade">');
于 2013-06-04T06:27:00.507 回答