', { src: 'images/video.svg'})令人惊讶的是,它只使用类创建了一个img元素,但没有src属性。如果我用这个:$img.attr('src','images/video.svg');然后,图像获取它的src属性。为什么会这样呢?下面是一个简单的">
问题是,我试图使用以下代码创建图像:
var $img = jQuery('<img class="pull-left"/>', {
src: 'images/video.svg'
})
令人惊讶的是,它只使用类创建了一个img
元素,但没有src
属性。如果我用这个:
$img.attr('src','images/video.svg');
然后,图像获取它的src
属性。为什么会这样呢?下面是一个简单的片段,说明了这个问题:
$img = jQuery('<img class="pull-left"/>',{
src: 'images/video.svg'
});
alert($img.attr('src'));
$img.attr('src','images/video.svg');
alert($img.attr('src'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
发布于 2016-11-02 09:06:22
jQuery( html, attributes )
的官方文档说,第一个参数应该是)。
因此,要么删除类并将其添加到参数对象中,要么使用attr
var $img = jQuery('<img/>', {
src: 'images/video.svg',
class: 'pull-left'
});
-或者
var $img = jQuery('<img class="pull-left"/>');
$img.attr('src', 'images/video.svg');
第二种方法适用于在代码的不同部分中创建和修改元素的情况。
发布于 2016-11-02 09:04:34
它不起作用,因为您需要给选择器一个空元素,然后在第二个参数中提供的对象中添加所有属性,如下所示:
$img = jQuery('<img />',{
src: 'images/video.svg',
class: 'pull-left'
});
console.log($img.attr('src'));
console.log($img.attr('class'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
https://stackoverflow.com/questions/40385610
复制