如何包装图像?

时间:2012-03-28 14:40:59

标签: javascript jquery image hyperlink

我不太了解这段代码:

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);

3 个答案:

答案 0 :(得分:1)

首先:,因为img是作为jQuery对象创建的,所以您不需要编写$(img)并将其再次包装在jQuery对象中。只需img即可。

第二:如果img尚未append加入文档,则无法使用wrap()就地修改它。

第三: wrap()旨在返回包装对象的内容,而不是包装器本身。你需要致电parent()来获得它。

尝试:

img = img.wrap('<a>').parent();

(你不需要关闭</a>,jQuery会自动生成它)

http://jsfiddle.net/TMeP6/

但是:由于img不再是图片,因此变量名称img不准确且可能令人困惑。我会创建一个新的变量名称(a_img或其他东西)并将其存储在其中:

a_img = img.wrap('<a>').parent();

答案 1 :(得分:0)

d_row.append('<a>'+img+'</a>');

或者您需要更多控制权吗?

答案 2 :(得分:0)

将它附加到DOM后将其换行,它应该可以工作:

http://jsfiddle.net/5Es6S/