抓取两个随机生成的div并在自定义div中包装

时间:2013-05-21 01:14:31

标签: javascript jquery

我正在尝试获取下面显示的两个随机生成的div ID,并将它们包装在我可以控制的自定义div中。正在搜索jQuery API以寻求解决方案,但仍然没有想法。

以下是示例预览: 2 Randomly Generated ID's + Custom Class

好的,你可以看到,有两个<div id="random_string"></div>和一个自定义<div class="wrap_awm"></div>

由于我无法从上面定位两个ID,所以我没有告诉jQuery如何告诉jQuery,从上面的wrap_awm获取两个div并将它们放在“.wrap_awm”中。这么简单吗?

5 个答案:

答案 0 :(得分:4)

您要找的是.prevAll()

var $wrap = $('.wrap_awm');
$wrap.prevAll(':lt(2)').appendTo($wrap);

它与:lt()选择器结合使用,只使用前两个元素。

答案 1 :(得分:4)

就是这么简单:

var w = $(".wrap_awm");
w
  .prev()
  .prev()
  .addBack()
  .appendTo(w);

See a live working example at JS Fiddle

答案 2 :(得分:1)

$(".wrap_awm")
  .prev("div")
     .appendTo(".wrap_awm")
     .end()
  .prev("div")
     .appendTo(".wrap_awm");

答案 3 :(得分:0)

您可以使用jquery API中的.prev()函数来选择自定义div的上一个兄弟。然后,您可以存储它并在其上应用相同的.prev()函数,即:

var previousSibling1 = $(".wrap_awm").prev();
var previousSibling2 = $(previousSibling1).prev();

现在您可以引用前两个兄弟姐妹,并将它们移动到您的自定义div。

答案 4 :(得分:0)

这很简单易读,但可能不是应该完成的方式......

$(document).ready(function () {
    var prev1 = $('.wrap_awm').prev().prev();
    var prev2 = $('.wrap_awm').prev();
    $('.wrap_awm').html(prev1).append(prev2);
});

<强> JSFiddle