jQuery在replaceWith方法之后包装一个元素但是没有工作[关闭]

问题描述 投票:0回答:3

我试图在将原始元素从div替换为div之后包装一个input但不起作用,任何人都可以在下面提出我的代码有什么问题,谢谢。

$('.sth').replaceWith(
    $('<input>', {
        value: $('.sth').text(),
        type: 'text'
    })
).wrap('<div class="new" />');

但是:ぁzxswい

jquery replacewith
3个回答
4
投票

http://jsfiddle.net/zhmUK/1/

使用提供的新内容替换匹配元素集中的每个元素,并返回已删除的元素集。

http://api.jquery.com/replaceWith/

2
投票

$('.sth').replaceWith( $('<input>', { value: $('.sth').text(), type: 'text' }).wrap('<div class="new" />').parent() ); 返回你删除的replaceWith元素。引文:

与大多数jQuery方法一样,.replaceWith()方法返回jQuery对象,以便可以将其他方法链接到它上面。但是,必须注意返回原始jQuery对象。此对象引用已从DOM中删除的元素,而不是已替换它的新元素。

所以你要包装错误的元素,不再是DOM中的元素。

从这里:.sth


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.