我尝试div
在将原始元素从div
to替换后包装 ainput
但不起作用,任何人都可以建议我下面的代码有什么问题,谢谢。
$('.sth').replaceWith(
$('<input>', {
value: $('.sth').text(),
type: 'text'
})
).wrap('<div class="new" />');
演示:http: //jsfiddle.net/zhmUK/1/
我尝试div
在将原始元素从div
to替换后包装 ainput
但不起作用,任何人都可以建议我下面的代码有什么问题,谢谢。
$('.sth').replaceWith(
$('<input>', {
value: $('.sth').text(),
type: 'text'
})
).wrap('<div class="new" />');
演示:http: //jsfiddle.net/zhmUK/1/
http://api.jquery.com/replaceWith/
用提供的新内容替换匹配元素集中的每个元素,并返回被删除的元素集。
$('.sth').replaceWith(
$('<input>', {
value: $('.sth').text(),
type: 'text'
}).wrap('<div class="new" />').parent()
);
replaceWith
返回您删除的.sth
元素。引文:
.replaceWith() 方法,像大多数 jQuery 方法一样,返回 jQuery 对象,以便其他方法可以链接到它。但是,必须注意返回的是原始的 jQuery 对象。此对象指的是已从 DOM 中删除的元素,而不是替换它的新元素。
所以你包装了错误的元素,不再在 DOM 中的元素。
你可以试试
$('.sth').wrap('<div class="new" />').replaceWith(
$('<input>', {
value: $('.sth').text(),
type: 'text'
})
);