2

我试图移动一些 div,但是我似乎无法选择它们只是通过对象对象:

http://jsfiddle.net/kL3c8/1/

<div class="partnerGroupContent">
   <div class="column"> 
        <div class="sponsor">1</div>
        <div class="sponsor">2</div>
   </div>
    <div class="column1"> 
        <div class="sponsor">3</div>
        <div class="sponsor">4</div>
   </div>
</div>

var rowCount = 2

var myColumn = $('.partnerGroupContent:nth-child(2)')

if (rowCount == 2) {

$('.partnerGroupContent').after('<div class="partnerGroupContent2">' + myColumn + '</div>');

}

任何帮助表示赞赏,谢谢!

4

4 回答 4

4

您正在将一个 jQuery 对象连接到一个字符串,它不会那样工作。而你误会了:nth-child。它是一个过滤器,用于过滤集合中作为nth其父级子级的元素,因此您可能想要这样:

$('.partnerGroupContent > :nth-child(2)')

$('.partnerGroupContent').after(
    $('<div>', {
        'class': 'partnerGroupContent2'
    }).append(myColumn) //append the actual element
                    //don't concatenate strings
)

http://jsfiddle.net/kL3c8/6/

于 2013-03-19T12:27:07.013 回答
1

问题是:$('.partnerGroupContent:nth-child(2))没有返回任何东西。

采用:var myColumn = $('.partnerGroupContent').children(2);

然后将其附加到partnerGroupusing htmlmyColumn.html()

我已经更新了你的小提琴以显示下面的内容更新:

http://jsfiddle.net/kL3c8/5/

于 2013-03-19T12:26:08.077 回答
0

尝试

var rowCount = 2

var myColumn = $('.partnerGroupContent > :nth-child(2)')

if (rowCount == 2) {

$('<div class="partnerGroupContent2"></div>').insertAfter('.partnerGroupContent').append(myColumn.clone());

}

演示:小提琴

于 2013-03-19T12:30:41.700 回答
0

即使您可以通过以下方式获取所有列 div 的数组

var rowCount = 2
var columnArray = $('div.partnerGroupContent > div');

并通过其数组索引获取特定列 div

if (rowCount == 2) {
   var myColumn = $(divArray[rowCount-1]).html();
   $('.partnerGroupContent').after('<div class="partnerGroupContent2">' + myColumn +     '</div>');
}
于 2013-03-19T12:53:31.623 回答