从javascript编写html内容

从javascript编写html内容,javascript,html,Javascript,Html,我想用javascript做一件事,但不知道怎么做。在一个完美的世界里,它看起来是这样的: <p>My very cool page!</p> <script type="text/javascript"> document.write('<div>some content</div>'); </script> 我非常酷的页面 文档。编写(“某些内容”); 这个脚本将在脚本标记的前面(或者后面,或者代替)插入一些

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

<p>My very cool page!</p>
<script type="text/javascript">
    document.write('<div>some content</div>');
</script>
我非常酷的页面

文档。编写(“某些内容”);
这个脚本将在脚本标记的前面(或者后面,或者代替)插入
一些内容。但在现实世界中,
document.write
重新开始编写html,删除页面中的任何静态内容(
标记,在本例中)

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


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

是的,但是你总是把它和其他东西联系在一起

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

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

如果你看一下jQuery的API,你会发现它们有很多函数可以实现这一点,比如
之前
之后
追加
,等等。

你可能还想读一读关于在DOM中添加和删除元素的内容,比如在本文中:


查找appendChild()

我们实际上在那个完美的世界里

而你的例子也会像现在这样起作用


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

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

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

...
用户还从我们的服务器链接脚本。加载页面时,脚本执行
$('div.my_widget')。每个
并根据其
提要id
和其他属性填充每个小部件的内容


感谢所有人(加比和凯瑞试图帮助解决这个模糊的问题,+1)

很抱歉,这会将页面中的代码实例数限制为1,否则用户每次都必须使用其他标识符,而不是“p:first”。我给了您一个例子。您可以将它们全部放在一个div中,如
,然后使用
$('content')。append('some content')''正是我在问题中提到的选项。不用再说了,我不知道你有什么问题?这是一个解决方案?你想要什么不同?我不明白你们是如何措辞你们的问题的。这很有趣,可能是因为页面还并没有完全加载。我更新了示例以使用按钮。但可能我不需要在页面加载后执行它,必须检查。谢谢@尼基塔,我明白了。。。实际上,在文档关闭(完全加载)后,您不能使用文档写入。。jquery
append()
prepend()
html()
将处理添加之前/之后或替换另一个元素的操作。抱歉,但似乎与问题完全无关。问题标题为“从javascript编写html内容”--通过Javascript添加元素与此无关吗?这是问题的唯一标题。这个问题本身就是一个特殊的技巧。也许你的问题留下了一些模棱两可的地方,我们需要澄清一下。您可能需要解释为什么需要此功能,以便更好地帮助我们回答您的问题。简而言之,这段js查询另一台服务器并在页面中插入返回的html小部件。页面上的每个小部件实例都是独立的(即,如果您按下一个小部件上的按钮,它不会影响其他小部件)。不确定这是否有什么不同。