我遇到以下问题 - 如何找到“test”类的div,并在之前添加“</div>
”,在<}之后添加“<div class="sth">
” / strong>它。
更多细节示例:
<!-- The original code -->
<div class="parent">
...here we can have some more content...
<div class="test"></div>
</div>
<!-- The thing that I want to achieve -->
<div class="parent">
...here we can have some more content...
</div>
<div class="test"></div>
<div class="sth">
</div>
我尝试使用javascript / jQuery但没有成功,因为它是在DOM中生成的。 因此,在决定展示内容之前,我决定使用可以使用的内容。
任何想法如何完成?
(内容将由Wordpress帖子生成,如果这对您有帮助......)
P.S。抱歉我的英文不好
答案 0 :(得分:1)
在正文标记</body>
jQuery(document).ready(function($) {
// Inside of this function, $() will work as an alias for jQuery()
// and other libraries also using $ will not be accessible under this shortcut
$( ".test" ).insertAfter( ".parent" );
});
该包装将导致在完全构造DOM时执行代码。如果由于某种原因,您希望代码立即执行而不是等待DOM ready事件,那么您可以使用此包装方法:
(function($) {
// Inside of this function, $() will work as an alias for jQuery()
// and other libraries also using $ will not be accessible under this shortcut
$( ".test" ).insertAfter( ".parent" );
})(jQuery);
价:http://codex.wordpress.org/Function_Reference/wp_enqueue_script
答案 1 :(得分:0)
我要做的是使用PHP Simple HTML DOM,获取您想要的<div>
,然后追加其他代码。我认为这将是更简单的方法。
答案 2 :(得分:0)
你说你试过jQuery
没有成功。但也许你想尝试这种成功的方法:
$('.test').wrap('<div class="sth"></div>');
当DOM准备好时,不要忘记执行它:
$(function() {
$('.test').wrap('<div class="sth"></div>');
});
答案 3 :(得分:0)
使用Javascript:
var page = document.documentElement.InnerHTML;
document.documentElement.InnerHTML = page.replace("<div class=\"test\">","</div><div class=\"test\"><div class=\"sth\">");
答案 4 :(得分:0)
谢谢大家。我决定将整个内容复制为普通的html文本,而不是使用jQuery在加载简单的gif加载器时找到并替换我想要的东西。
这不是最好和最快的解决方案,但现在就像一个魅力: - )。
再次感谢。