我可以将整个li元素包装在一个带有链接的有序列表中:
$(e).wrap('<a href="#" onclick="window.open(\'/xyz/\');return false;"></a>');
HTML构造:
<li class="">
<img src="http://img.example.com/images/bdb/2474566/600x338.jpg" class="xx">
</li>
<li class="">
<img src="http://img.example.com/images/bdb/2474566/600x338.jpg" class="xx">
</li>
<a onclick="window.open('/something/');return false;" href="#">
<li class="">
<img src="http://img.example.com/images/bdb/2474566/600x338.jpg" class="xx">
</li>
</a>
如何管理它以将链接包裹在图像本身周围而不是整个列表元素周围?
答案 0 :(得分:0)
试试这个,
$("#ul li img").wrap('<a href="#" onclick="window.open(\'/xyz/\');return false;"></a>');
答案 1 :(得分:0)
唯一成功的方法:
var myImg = $(e).html();
$(e).html('<a href="#" onclick="window.open(\'/xyz/\');return false;">' + myImg + '</a>‘);
答案 2 :(得分:0)
看看这是不是你想要的。关键是你应该在将e
作为jQuery对象之前将其包装起来。那么$e.html()
就是你想要的。
var e = '<li class=""><img src="http://img.example.com/images/bdb/2474566/600x338.jpg" class="xx"></li><li class=""><img src="http://img.example.com/images/bdb/2474566/600x338.jpg" class="xx"></li>';
var $e = $("<ul>"+e+"</ul>");
$new.find("img").wrap('<a href="#" onclick="window.open(\'/xyz/\');return false;"></a>');
演示HERE。