jQuery appendTo div在一个具有唯一id的div中

时间:2013-04-30 14:12:25

标签: jquery

我想将某些元素附加到具有唯一ID的另一个div中的div。

<div data-role="collapsible" id="49617" class="ui-collapsible ui-collapsible-inset ui-corner-all">
    <h2 class="ui-collapsible-heading">
    </h2>
    <div class="ui-collapsible-content" aria-hidden="false"></div>
</div>

父div data-role="collapsible"的id是动态的。子div ui-collapsible-content由我使用的框架创建。如何通过单击按钮将元素添加到此div中。

这是我下面的jQuery代码,变量stopId是父div的id。它附加到父div而不是所需的子div。

$("<h2 />").text("Buses Due").appendTo("#" + stopId);

$.each(data.arrivals, function(i,item){

  $("<span/>")
  .text(item.estimatedWait)
  .attr("class", "busListing time")
  .appendTo("#" + stopId);

  $("<span/>")
  .text(item.routeName + ' to ' + item.destination)
  .attr("class", "busListing info")
  .appendTo("#" + stopId);

  $("<br/>")
  .appendTo("#" + stopId);
});

3 个答案:

答案 0 :(得分:2)

使用.appendTo("#" + stopId + ' > .ui-collapsible-content')

例如:

$("<h2 />").text("Buses Due").appendTo("#" + stopId);

var el = $("#" + stopId).children('.ui-collapsible-content');
$.each(data.arrivals, function(i,item){

    $("<span/>")
    .text(item.estimatedWait)
    .attr("class", "busListing time")
    .appendTo(el);

    $("<span/>")
    .text(item.routeName + ' to ' + item.destination)
    .attr("class", "busListing info")
    .appendTo(el);

    $("<br/>")
    .appendTo(el);
});

答案 1 :(得分:1)

我不完全确定你为什么要使用(“#”+ stopId)。将stopId设置为父div更有意义,而不仅仅是id。附加时,可以使用$('child','parent')设置找到选择器的上下文。所以你会做点像......

.appendTo('.ui-collapsible-content', parentDiv); // parentDiv = "#" + stopId

基本上,这会在父级中找到.ui-collapsible-content。

答案 2 :(得分:0)

试试这个

.appendTo($("#" + stopId).children('ui-collapsible-content'));