使用jquery

时间:2016-11-16 06:43:03

标签: javascript jquery html

我正在尝试将内容包装在div中,但问题是html页面不可编辑所以我正在尝试其他方式,使用jQuery将所有内容包装在div以下是{{1}结构

html
$(document).ready(function() {
  $("hr").before("<div class=wrapElement>");
	$("#disqus_thread").before("</div>");
});

问题打开<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <hr> <h4>Title Here</h4> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <div id="disqus_thread"></div>被放置在正确的位置,但是关闭div不在正确位置,它应该在div之上,但它不在那里,我怎么得到它放在这个位置?

jQuery版本是1.12.4

提前致谢

5 个答案:

答案 0 :(得分:6)

使用nextUntil()方法将所有元素放到div上,并使用wrapAll()方法使用div元素包装它们。

$(document).ready(function() {
  $("hr").nextUntil("#disqus_thread") // get elements from hr upto the previous element of #disqus_thread
       .wrapAll("<div class=wrapElement></div>"); // wrap all elements using div
});

&#13;
&#13;
$(document).ready(function() {
  $("hr").nextUntil("#disqus_thread").wrapAll("<div class=wrapElement></div>");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<hr>
<h4>Title Here</h4>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="disqus_thread"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

或者,您可以使用内置的jQuery函数:

这是一个小提琴:https://jsfiddle.net/uhr4kuk6/5/

$(document).ready(function() {
$('hr').remove();
  $('h4').wrap('<div class="wrapElement">').prepend('<hr>');
  $('p').each(function() {
  	var getContentWithTags = $(this).clone();
    $('.wrapElement').append(getContentWithTags);
    $(this).remove();
  })
});
.wrapElement {
  background: red;
  padding-top: .5em;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<hr>
<h4>Title Here</h4>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
<div id="disqus_thread"></div>

答案 2 :(得分:0)

假设您的内容位于正文标记内:

       var mainhtml=  $('body').find('*').not('#thread_content').html()
       $('#thread_content').html(mainhtml);

答案 3 :(得分:0)

如果你有一个容器,你可以轻松地使用jQuery wrapInner()方法:

Y

答案 4 :(得分:0)

试试这个..

<hr>
<h4>Title Here</h4>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="disqus_thread"></div>

$(document).ready(function() {
$("body").wrapInner("<div class=wrapElement></div>");
});