jQuery - appendTo前一个/前一个元素
问题描述:
我在这里已经找不到这个了,希望有人能帮上忙。jQuery - appendTo前一个/前一个元素
我需要的链接(更多)追加到它前面的一段 - 我敢肯定,这是很简单的,但不能完全得到它的权利:
<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工作,但我无法完全放下手脚。
非常感谢您的帮助!
答
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'));
});
答
尝试使用
var more = $(".more");
more.prev().append(" ").append(more);
你应该检查http://jsfiddle.net/heera/Me5Dm/4/ – 2012-04-21 16:57:13
当然'$(“。more”)'捕获所有具有“more”类的元素,但它符合给出的示例 – 2012-04-21 17:01:05
I这么想只是想让你注意。 – 2012-04-21 17:04:09