如何获取替换DOM元素的jquery对象

时间:2013-06-14 11:37:43

标签: jquery html

我想编写一个调用replaceWith的插件,如何选择新内容,以便我可以将我的插件链接到新内容。

$.fn.spam = function() {
    this.replaceWith('<span>spam</span>');
};

我想做点什么

$('div').span().css('background-color', 'red');

replaceWith返回旧内容,如何获取新内容?

3 个答案:

答案 0 :(得分:2)

$.fn.spam = function() {
    var elems = $();
    this.each(function() {
        var span = $('<span />', {text: 'spam'});
        $(this).replaceWith(span);
        elems.push(span.get(0));
    });
    return $(elems);
};

$('div').spam().css('background-color', 'red');

FIDDLE

答案 1 :(得分:1)

也许是这样的:

$.fn.span = function() {
var theNewElt = $('<span>spam</span>');
this.replaceWith(theNewElt);
return theNewElt;
};


$('div').span().css('background-color', 'red');

jsfiddle

上测试

答案 2 :(得分:0)

我找到了一种使用replaceAll jquery方法

在一行中完成此操作的方法
$.fn.spam = function() {
    return $('<span>spam</span>').replaceAll(this);
};