jquery .after 不对非追加对象工作

jquery .after not working for non appeneded objects

本文关键字:追加 对象 工作 after jquery      更新时间:2023-09-26

我需要分别创建两个对象,然后一个接一个地添加并从函数返回组合对象。我的要求是我必须将此对象附加到函数外部,并且函数应将 2 个创建的对象作为一个返回。请参阅下面的代码。它只返回div ..没有桌子 ?

function html() {
var _tab = $("<table>").attr("id", "table_1")
var _div = $("<div>").attr("id", "div_1").text("test");
return  _div.after(_tab);
}
$("body").append(html()); // only returns div .. no table

我不得不为此使用 .add() ...解决!!!

_div.add(_tab);

实际上这是非常奇怪的行为,jquery 文档明确指出这应该在 jquery> 1.4 中工作(http://api.jquery.com/after/#after-content-content 请参阅插入断开连接的节点部分)但是在我的小提琴中,它在jquery 1.9.1中不起作用,但在1.6.4->1.8.3中起作用

http://jsfiddle.net/XSXYW/

apparantly i need code to post fiddle links

您使用的是哪个版本?

function html() {
    var _tab = $("<table>").attr("id", "table_1")
    _tab.html('<tr><td>Hi all</td></tr>');
    var _div = $("<div>").attr("id", "div_1").text("test");
    return  _div.after(_tab);
    }
    $("body").append(html());

正在荣耀中工作。问题是表中没有行。

return _div + _tab

就这么简单

after对象后面添加一个元素并仅返回对象,它不能将 2 分组,因为它们是兄弟姐妹,_div必须保持_div,或者您想象如果 _div变成 div+tab 在 dom 中的混乱? 你怎么去_div?