【问题标题】:How to dynamically insert an element on an element that was dynamically inserted?如何在动态插入的元素上动态插入元素?
【发布时间】:2011-07-22 23:30:52
【问题描述】:

我希望能够动态附加到动态附加的元素。 如果你有这个:

<div id="main">

</div>

$(document).ready(function() {
    $('#main').append('<div id="inner"></div>');

    $('#inner').append('<div id="goal"></div>');
});

#goal 永远不会被附加。是否有一个 jquery 函数来处理这个问题或者我该怎么做?

http://jsfiddle.net/jmZY4/

【问题讨论】:

  • 我不能一起做,因为我有一个插入一个元素的插件,然后我想通过回调在第一个元素中插入一个元素。

标签: jquery html css


【解决方案1】:

把它转过来(live copy - 你的示例的 CSS 中有一个错误,顺便说一句,两个 #main 规则,没有 #inner 规则):

$(document).ready(function() {
    var inner = $('<div id="inner"></div>');
    inner.appendTo('#main');
    inner.append('<div id="goal"></div>');
});

appendToappend 的反义词。

你可以写得更紧凑,虽然(在我看来)它不值得失去清晰度(live copy):

$(document).ready(function() {
    $('<div id="inner"></div>')
        .appendTo('#main')
        .append('<div id="goal"></div>');
});

当然,在您的 精确 示例中,您可以只是 (live copy):

$(document).ready(function() {
    $('#main').append('<div id="inner"><div id="goal"></div></div>');
});

...但我猜你有理由分开做这两个。

【讨论】:

  • 哦,这是我的 jsfiddle 中的 .css 规则。好的,如果这确实有效,你们中的任何人都可以在这里解决我的问题吗?@ 987654326@。我有一个hellofa时间。
【解决方案2】:

试试这个

$(document).ready(function() {
    $('<div id="inner"></div>').append('<div id="goal"></div>').appendTo('#main');
});

【讨论】:

    猜你喜欢
    • 2017-02-27
    • 1970-01-01
    • 2019-01-16
    • 2014-04-06
    • 2016-12-16
    • 2015-06-11
    • 2013-06-28
    • 1970-01-01
    • 2018-08-16
    相关资源
    最近更新 更多