代码之家  ›  专栏  ›  技术社区  ›  Nikita Rybak

从javascript编写html内容

  •  1
  • Nikita Rybak  · 技术社区  · 14 年前

    我想用javascript做一件事,但不知道怎么做。在一个完美的世界里,它是这样的:

    <p>My very cool page!</p>
    <script type="text/javascript">
        document.write('<div>some content</div>');
    </script>
    

    这个脚本会插入 <div>some content</div> 就在脚本标记之前(或之后,或替换为)。但在现实世界里, document.write 重新开始编写html,删除页面中的任何静态内容( <p>

    这是一个简单的例子,但应该给你的想法。我知道我可以把 <div id="some_id"></div> 在从js脚本标记并在其中插入html之前,我希望能够使用这个代码段的多个实例,而无需每次更改它(手动生成随机id)。

    我可以使用jquery或任何其他现有的库。有没有办法做到这一点?谢谢!

    5 回复  |  直到 14 年前
        1
  •  2
  •   Gabriele Petrioli    14 年前

    我们其实在那个完美的世界里。。。

    你的例子就可以用了。。

    http://www.jsfiddle.net/BtKGV/

        2
  •  1
  •   Kerry Jones    14 年前

    是的,但是你总是把它和别的东西联系起来。

    如果您想在jQuery中的第一个p标记之后写一些东西,您可以这样做

    $('p:first').after( '<div>some content</div>' );
    

    before , after append 等等。

        3
  •  0
  •   JYelton Melchior Blausand    14 年前

    您可能还想了解如何在DOM中添加和删除元素,如本文中所述:

    http://www.dustindiaz.com/add-remove-elements-reprise/

        4
  •  0
  •   Kevin Carmody    14 年前

    查找子对象()

        5
  •  0
  •   Nikita Rybak    14 年前

    为了结束这个问题,下面是最后的结果。

    诀窍是将每个小部件的数据存储在html标记中,而不是javascript中。用户插入如下内容

    <div class="my_widget" feed_id="123"></div>
    ...
    <div class="my_widget" feed_id="456"></div>
    

    $('div.my_widget').each 并根据每个小部件的属性填充每个小部件的内容 feed_id 以及其他属性。

    感谢所有人(加比和克里试图帮助解决这个模糊的问题)