我试图移动一些div,但是我似乎无法选择它们只是通过对象对象:
<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>');
}
感谢任何帮助,谢谢!
答案 0 :(得分:4)
您正在将jQuery对象连接到字符串,它不会那样工作。你误解了:nth-child
。它是一个过滤器,用于过滤集合中父元素为nth
子元素的元素,因此您可能需要这样:
$('.partnerGroupContent > :nth-child(2)')
和
$('.partnerGroupContent').after(
$('<div>', {
'class': 'partnerGroupContent2'
}).append(myColumn) //append the actual element
//don't concatenate strings
)
答案 1 :(得分:1)
问题是:$('.partnerGroupContent:nth-child(2))
没有返回任何内容。
使用:var myColumn = $('.partnerGroupContent').children(2);
然后使用partnerGroup
:html
myColumn.html()
我已更新您的小提琴以显示内容更新:
答案 2 :(得分:0)
尝试
var rowCount = 2
var myColumn = $('.partnerGroupContent > :nth-child(2)')
if (rowCount == 2) {
$('<div class="partnerGroupContent2"></div>').insertAfter('.partnerGroupContent').append(myColumn.clone());
}
演示:Fiddle
答案 3 :(得分: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>');
}