首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么jQuery('<img class=“拉左”/>‘,{ src:’. })创建一个没有src的图像?

为什么jQuery('<img class=“拉左”/>‘,{ src:’. })创建一个没有src的图像?
EN

Stack Overflow用户
提问于 2016-11-02 17:00:37
回答 2查看 113关注 0票数 0

问题是,我试图使用以下代码创建图像:

代码语言:javascript
运行
复制
var $img = jQuery('<img class="pull-left"/>', {
    src: 'images/video.svg'
})

令人惊讶的是,它只使用类创建了一个img元素,但没有src属性。如果我用这个:

代码语言:javascript
运行
复制
$img.attr('src','images/video.svg');

然后,图像获取它的src属性。为什么会这样呢?下面是一个简单的片段,说明了这个问题:

代码语言:javascript
运行
复制
$img = jQuery('<img class="pull-left"/>',{
    src: 'images/video.svg'
});
alert($img.attr('src'));

$img.attr('src','images/video.svg');
alert($img.attr('src'));
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-02 17:06:22

jQuery( html, attributes )的官方文档说,第一个参数应该是)

因此,要么删除类并将其添加到参数对象中,要么使用attr

代码语言:javascript
运行
复制
var $img = jQuery('<img/>', {
    src: 'images/video.svg',
    class: 'pull-left'
});

-或者

代码语言:javascript
运行
复制
var $img = jQuery('<img class="pull-left"/>');
$img.attr('src', 'images/video.svg');

第二种方法适用于在代码的不同部分中创建和修改元素的情况。

票数 2
EN

Stack Overflow用户

发布于 2016-11-02 17:04:34

它不起作用,因为您需要给选择器一个空元素,然后在第二个参数中提供的对象中添加所有属性,如下所示:

代码语言:javascript
运行
复制
$img = jQuery('<img />',{
    src: 'images/video.svg',
    class: 'pull-left'
});

console.log($img.attr('src'));
console.log($img.attr('class'));
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40385610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档