首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery wrap()问题

JQuery wrap()问题
EN

Stack Overflow用户
提问于 2010-07-26 07:37:18
回答 4查看 813关注 0票数 1

为什么下面的代码不用<li>标记包装图像?最好的方法是什么?

代码语言:javascript
复制
var i = new Image
i.src = '/images/image.jpeg'

$(i).wrap('<li />')
$('div').html(i)

产生:

代码语言:javascript
复制
<div><img src="/images/image.jpeg"></div>

取而代之的是:

代码语言:javascript
复制
<div><li><img src="/images/image.jpeg"></li></div>
EN

回答 4

Stack Overflow用户

发布于 2010-07-26 08:10:29

你有什么理由不这么做吗?

代码语言:javascript
复制
$('div').html('<li><img src="/images/image.jpeg" /></li>');

请注意,无论采用哪种方法,您都是在将<li>元素附加到<div>,这在技术上是不正确的。

<li>应该是<ul><ol>的子级。

编辑:

具体到您遇到的问题,您的代码是正确的,但您只需要将包装好的<img>放在.html()调用中:

代码语言:javascript
复制
var i = new Image;
i.src = '/images/image.jpeg';

$('div').html( $(i).wrap('<li />') );
票数 3
EN

Stack Overflow用户

发布于 2010-07-26 07:42:08

i是对图像的引用。wrap不会改变这一点。不能只在li上生成li,然后生成appendTo吗?

代码语言:javascript
复制
i = new Image;
$('<li/>').append(i).appendTo('div')
票数 1
EN

Stack Overflow用户

发布于 2010-07-26 08:15:55

.html()会覆盖元素内部的所有内容。所以它删除了那里的<li>

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

https://stackoverflow.com/questions/3331463

复制
相关文章

相似问题

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