我尝试通过Jquery编写一个循环来包装图片上的所有img:
var $csstring = "div.article_column a img";
$($csstring).each(
function() {
$($csstring).parent().wrap("<div class='dropshadow'></div>");
});
和我收到这个:
<div class="dropshadow">
<div class="dropshadow">
<div class="dropshadow">
<div class="dropshadow">>
<div class="dropshadow">
<a target="_blank" href="/ferdynand.jpg">
<img height="126" width="190" border="0" src="aae7dda0d83bf7df21ce6f834db8228a.jpg">
</a>
</div>
</div>
</div>
</div>
</div>
我的意思是这是5张图片与相同的css,谁能帮助我吗?
不需要循环
// this contains an array of elements
var $csstring = $("div.article_column a img");
// this will wrap all objects with your html
$csstring.wrap("<div class='dropshadow'></div>");
注意:你需要用$()包装字符串来使用变量作为jquery对象。
编辑:如果你想访问数组中的特定节点…
var $firstElement = $($csstring[0]);
在循环函数中将$csstring
改为this
:
var $csstring = "div.article_column a img";
$($csstring).each(
function() {
$(this).parent().wrap("<div class='dropshadow'></div>");
});
改为:
$($csstring).each(function() {
$(this).parent().wrap('<div class="dropshadow"></div>');
});
我认为你甚至不需要这些。只需这样做:
$("div.article_column a img").parent().wrap("<div class='dropshadow'></div>");