我的代码完美无缺:
$('.container p').eq(2).after( $('.inserted') );
但是,如果第一段是在blockquote中,则会出现一些样式问题,我需要避免这种情况。所以我需要更改代码,以便如果页面顶部有一个blockquote,则将.inserted div移动到blockquote之后。
我该怎么做?
答案 0 :(得分:1)
请试一试:
var obj = $('.container p').eq(2);
if($('.container p').eq(2).parents("blockquote").length)
obj = $('.container p').eq(2).parents("blockquote");
obj.after( $('.inserted') );
你会在这里找到一个例子:http://jsfiddle.net/hyunkeln/k0hq6a46/6/
这个脚本的作用是查看所选段落是否来自blockquote中的子句,如果是,则插入的div将在blockquote后面而不是所选段落。
答案 1 :(得分:0)
基于hyunkeln的代码,我想出了这个,这在100%的时间都有效:
$(function() {
var $graphs = $('.container p'),
elem = $graphs.eq(3),
hasImage = Boolean( $graphs.eq(3).parents('blockquote').length );
if ( hasImage ) {
elem = $graphs.eq(3).parents('blockquote');
}
elem.after( $('.inserted') );
});