所以我有这个DOM结构用于新闻提要
String timeStr = "30";
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.append(DateTimeFormatter.ofPattern("mm"))
.parseDefaulting(ChronoField.HOUR_OF_DAY,0)
.toFormatter();
LocalTime parsedTime = LocalTime.parse(timeStr, formatter);
我想在<div class="content">
<div class="row">
<h2 class="date">01 July 2015</h2>
<div class="thumbnail">
<img src="somesource">
</div>
<div class="description">
<a href="#link">link</a>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. A id vero rerum consectetur itaque ex saepe quia nam quam est!
</div>
</div>
</div>
//duplicated 5 times
之前移动链接,我的jQuery代码如下:
h2.date
它不仅仅是获取它的链接,而且还不断地从其他新闻中转储所有链接:
$('.content .row .description').each(function() {
var hrefs = $('a', this);
hrefs.insertBefore('.content .row h2.date');
});
知道如何解决这个问题吗?
答案 0 :(得分:0)
您的.insertBefore()
选择器没有上下文,因此您的元素会插入到与您的选择器匹配的第一个元素中:
$('.content .row .description').each(function() {
var hrefs = $('a', this),
$target = $(this).closest('.content').find('.row h2.date');
hrefs.insertBefore($target);
});
或者,通过循环.content
来避免遍历 up DOM树:
$('.content').each(function() {
var $this = $(this),
$href = $this.find('a'),
$target = $this.find('.row h2.date');
$href.insertBefore($target);
});