如何在body标签之后但在body标签内动态放置html? jQuery的

时间:2011-02-22 01:00:14

标签: jquery html plugins

我需要在body标签后添加一些html,如:

<body>
<p>this is the HTML I need to add</p>
</body>

这是我的jQuery代码:

jQuery(document).ready(addPageFlipHTML);

function addPageFlipHTML() {

    jQuery('body') // after body tag
            .after(
                    "<div id='pageflip'><a href='http://sabwd.com'><img src='/test/wp-content/plugins/page-flip/images/page_flip.png' alt='' />" //create this html
                            + "<span class='msg_block'>Subscribe via RSS</span></a></div>");

}

有谁知道怎么做?我正在尝试编写一个通用插件,并且需要一个明确的标签,如body,以便在内部添加。

先谢谢,

迈克

1 个答案:

答案 0 :(得分:17)

要在开始<body>元素中定位新内容,您需要使用prepend()(docs)方法:

jQuery('body') 
        .prepend(
                "<div id='pageflip'><a href='http://sabwd.com'><img src='/test/wp-content/plugins/page-flip/images/page_flip.png' alt='' />" //create this html
                        + "<span class='msg_block'>Subscribe via RSS</span></a></div>");

原因是jQuery('body')未选择开始<body>标记,而是选择整个<body></body>元素。

因此after()(docs)方法试图将新内容放在</body>之后,这是无效的。但.prepend()将新内容置于 body 内(以及可能在其中的任何其他内容之前)