我不太了解这段代码:
var img = $('<img/>', {class: "photo", src: photo.url_n, width: wt, height: ht}).css("margin", border + "px");
似乎要创建一个图片代码:<img src="" class="photo" ... />
。我只想用链接包装它:<a href="#aaaa"></a>
但我正在尝试这个并且它不起作用:
$(img).wrap('<a></a>');
我也尝试过:
img.wrap('<a></a>');
最后,代码将img
添加到另一个元素中:
d_row.append(img);
答案 0 :(得分:1)
首先:,因为img
是作为jQuery对象创建的,所以您不需要编写$(img)
并将其再次包装在jQuery对象中。只需img
即可。
第二:如果img
尚未append
加入文档,则无法使用wrap()
就地修改它。
第三: wrap()
旨在返回包装对象的内容,而不是包装器本身。你需要致电parent()
来获得它。
尝试:
img = img.wrap('<a>').parent();
(你不需要关闭</a>
,jQuery会自动生成它)
但是:由于img
不再是图片,因此变量名称img
不准确且可能令人困惑。我会创建一个新的变量名称(a_img
或其他东西)并将其存储在其中:
a_img = img.wrap('<a>').parent();
答案 1 :(得分:0)
d_row.append('<a>'+img+'</a>');
或者您需要更多控制权吗?
答案 2 :(得分:0)
将它附加到DOM后将其换行,它应该可以工作: