【发布时间】:2014-06-14 07:02:55
【问题描述】:
使用 :contains(),我试图定位每个父 div 中的特定子 div,并将其移动到 (insertBefore) 所有其他子 div 之上。
<div class="roomRateRoomType">
<div class="rateListing roomsView">
<div class="rateTypeLineItems">
<!-- Non-Best Flex Rate -->
<div class="regularRates roomsView"> <span>Advance Saver Rate & Deals</span>
<p>Lorem Ipsum.</p>
</div>
<!-- Best Flexible Rate -->
<div class="regularRates roomsView">
<div class="upsellHeader"> <span class="groupHeader">Best Flexible Rate & Deals</span>
<p>Lorem Ipsum.</p>
</div>
</div>
</div>
</div>
<div class="rateListing roomsView">
<div class="rateTypeLineItems">
<!-- Non-Best Flex Rate -->
<div class="regularRates roomsView"> <span>Some Other Advance Saver Rate & Deals</span>
<p>Lorem Ipsum.</p>
</div>
<!-- Best Flexible Rate -->
<div class="regularRates roomsView">
<div class="upsellHeader"> <span class="groupHeader">Best Flexible Rate & Deals</span>
<p>Lorem Ipsum.</p>
</div>
</div>
</div>
</div>
<div class="rateListing roomsView">
<div class="rateTypeLineItems">
<!-- Non-Best Flex Rate -->
<div class="regularRates roomsView"> <span>And One More Advance Saver Rate & Deals</span>
<p>Lorem Ipsum.</p>
</div>
<!-- Best Flexible Rate -->
<div class="regularRates roomsView">
<div class="upsellHeader"> <span class="groupHeader">Best Flexible Rate & Deals</span>
<p>Lorem Ipsum.</p>
</div>
</div>
</div>
</div>
</div>
<!-- */ END .roomRateRoomType -->
//move each Best Flex div above all siblings
$('.regularRates.roomsView').each(function() {
$('.regularRates.roomsView:contains("Best Flexible Rate")').insertBefore('.regularRates.roomsView:eq(0)');
});
这是我的fiddle。我明白为什么我的目标孩子会被移到 first 父母的顶部。如何让我的脚本将每个子项保留在其相对父项中?
感谢您的帮助!
【问题讨论】:
标签: jquery