我在这里找不到这个,希望有人可以提供帮助。
我需要将链接(.more)附加到它之前的段落 - 我确信这很简单,但不能完全正确:
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<a href="#" class="more">Read more</a>
<p>Lorem ipsum</p>
最终HTML中可能会有更多段落,我需要这样做的原因是与CMS相关。但基于以上所述,我的目标是:
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum <a href="#" class="more">Read more</a></p>
<p>Lorem ipsum</p>
我试过了:
$(".more").appendTo("p");
但显然这会将它附加到所有段落......也许这是prevAll的工作,但我不能完全指责它。
非常感谢您的帮助!
答案 0 :(得分:5)
<强> HTML 强>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<a href="#" class="more">Read more1</a>
<p>Lorem ipsum</p>
<a href="#" class="more">Read more2</a>
<强> JS 强>
$('p').each(function(e){
if($(this).next('a').hasClass('more'))
$(this).html($(this).html()+" ").append($(this).next('a'));
});
答案 1 :(得分:1)
尝试使用
var more = $(".more");
more.prev().append(" ").append(more);