如何使用父锚点的href设置图像src?

时间:2013-09-22 08:02:09

标签: jquery image this href src

我有以下链接,它应该在加载javascript时显示链接中的图像:

<a href="http://upload.wikimedia.org/wikipedia/commons/a/ae/Mad_scientist.svg" id="a">
 <img alt="no image">
</a>

javascript应该获取链接的href属性,并在为图像编写html时包含它。

$('#a').html('<img src="' + $(this).attr('href') + '">image');

不知何故,$(this).attr('href')正在返回undefined。这有什么问题?

JsFiddle

2 个答案:

答案 0 :(得分:4)

DEMO

$('#a').html(function () {
   return  '<img src="' + $(this).attr('href') + '">image'
});
  

返回要设置的HTML内容的函数。收到索引   集合中元素的位置和旧的HTML值为   参数。 jQuery在调用函数之前清空元素;使用   oldhtml参数引用以前的内容。内   function,this指的是集合中的当前元素。

参考

http://api.jquery.com/html/#html-functionindex--oldhtml

http://learn.jquery.com/javascript-101/this-keyword/

在您的代码中

$('#a').html('<img src="' + $(this).attr('href') + '">image');
您的代码中未定义

$(this)

例如

$('#a').html(function () {
       return  '<img src="' + $(this).attr('href') + '">image'
});

在上面的代码this中引用了当前元素,即带有id="a"

的元素

答案 1 :(得分:1)

var obj= $("#a");
obj.html('<img src="' + obj.attr('href') + '">image');