2010-06-02 146 views
0
$('<a />').attr({ 
     'href': '#' 
    }) 
    .append(
     $('<img />').attr({ 
      'id' : 'img', 
      'src' : 'edit.png' 
    })) 
    .appendTo('body'); 

将“<a href="#"><img src="edit.png" id="img" /></a>”添加到身体的“正确方法”是什么?这是在链接中设置图像的正确方法吗?

另外我怎么会添加一些CSS到IMG?

回答

1

你可以把所有的直接进入jQuery的(),因为版本1.4.x

$('<a />', { 
    'href': '#' 
}) 
.append(
    $('<img />', { 
     'id' : 'img', 
     'src' : 'edit.png', 
     'css' : { 
      'width' : '100px', 
      'height' : '30px' 
     } 
})) 
.appendTo('body'); 

这甚至适用于事件和数据,你可以说

$('<div/>', { 
    id: 'myID', 
    class: 'myCLASS', 
    css: { 
     position: 'absolute' 
    }, 
    click: function(e){ 
     alert(e.target.id); 
    }, 
    data: { 
     foo: 'bar' 
    } 
}).appendTo(document.body); 
+0

+1 - 适用于事件......但实际上有一个特别是“数据”的错误,例如它在对象扩展时覆盖事件。在指定'data:{}':)时,您会发现该命令很重要 – 2010-06-02 10:10:51

+0

我知道我是发布此消息的人之一:),遗憾的是官方的错误报告甚至没有分配给任何人 - 但是。 – jAndy 2010-06-02 10:12:37

0

TIMTOWTDI撇开,是的,这是一种做法。请记住,没有“正确”的正确方法。如果它有效,这意味着你在正确的轨道上。

另外,正确的是相对的。

+0

这里并不完全相对:一种方法可以让无效或断开的HTML(仅使用'$'); 'attr()'会对传入的输入值进行验证。 – 2010-06-02 09:58:45

+3

当然有几种正确的方法。但也有一些错误的方法。我真的不能同意“如果它有效,它是正确的” – 2010-06-02 09:59:48

+0

也许我太笼统了。更新以更好地反映我的观点。 – 2010-06-02 10:06:15

0

不是真的建议做内联样式,但CSS的图像上的例子是:

<img style="display:block;" src="##.jpg" /> 
相关问题