作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 jQuery 在 javascript 中给出以下代码:
var inner = $('<p></p>')
var outer = inner.wrap('<div></div>')
console.log(inner.outerHTML()) // <p></p>
console.log(outer.outerHTML()) // <p></p>
我理解第一个输出。 .wrap()
正在返回原始对象,用于链接目的。
对于第二个输出,我期望 <div><p></p></div>
自 .wrap()
函数应该修改/扩展 inner
变量。
.wrap()
是吗?只适用于 DOM 元素?不在新创建的 jQuery 对象上?
将 Chorme 与 jQuery 2.1.1 结合使用
最佳答案
.wrap()
也适用于不引用 DOM 中任何内容的 jQuery 对象,例如 $('<p></p>')
.
但是你必须正确地询问结果。由于链接,您只能获得原始的 jQuery 对象,但您必须使用 .parents()
请求其周围新创建的元素。以获得您预期的结果。
$('<p></p>').wrap('<div></div>').parents()
将给出:<div><p></p></div>
OP 的注释
很明显我之前没有理解它,但是由于@jfriend00的回答和评论,我开始理解它。我还怀疑 jQuery 对象是否只是对 DOM 中某些内容的引用,或者可能是全新的东西。
关于jQuery wrap() 只适用于 DOM,不适用于 jQuery 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27477396/
我是一名优秀的程序员,十分优秀!