JavaScript如何在div中动态生成<p>

我在div中动态显示一些段落文本这些段落文本可能是100个也可能是1000个这就需要我动态生成<P>请问如何在div中动态生成<P>还有为什么我用.appendChild... 我在div中动态显示一些段落文本 这些段落文本可能是100个也可能是1000个
这就需要我动态生成<P> 请问如何在div中动态生成<P>
还有 为什么我用.appendChild方法把<P>元素添加进div时 报错“类型不匹配”
展开
 我来答
woshidaniel
2015-09-09 · TA获得超过9241个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:946万
展开全部

1、获取div节点

var div = document.getElementById('divid');//获取一个id是divid的div节点,往这个节点中添加p节点

2、动态生成p节点

var p = document.createElement('p');//创建p节点
p.innerHTML = '显示的文字';//p节点显示的文字

3、往div中通过appendChild添加p节点

div.appendChild(p);//往div中添加p节点
ヤマザキ266e77
2009-04-07 · TA获得超过2052个赞
知道小有建树答主
回答量:721
采纳率:0%
帮助的人:981万
展开全部
可以直接用 document.getElementById("divid").innerHTML = "<p>内容</p>";的方式来写。
多个可以循环进行处理

假设段落文本是个数组:array
可以通过
for (var i = 0; i < array.length;i++) {
document.getElementById("divid").innerHTML = "<p>"+array[i]+"</p>";
}
的方式进行处理
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csharpxml
2009-04-07 · TA获得超过590个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:281万
展开全部
如果段落过多,直接使用 div.appendChild方法会不段刷新DIV对象,影响运行速度, 正确的方法应该使用 document对象的碎片方法 document.createDocumentFragment 容器,最后再将这些碎片返回给DIV对象比较合理,例如:
var strArrayList=[]; // 创建一个段落文本数组对象,这些段落文本可能是100个也可能是1000个

strArrayList[0]='数据111.......';
strArrayList[1]='数据.......';

strArrayList[2]='数据.......';
strArrayList[3]='数据.......';
strArrayList[4]='数据.......';
//...数据n.....

var div=document.getElementById('div1'); //获得DIV对象
var f=document.createDocumentFragment(); //创建碎片对象
for(var i=0;i<strArrayList.length;i++){
var p=document.createElement('P'); //动态创建P标签
p.appendChild(document.createTextNode(strArrayList[i]));//段落字符串
f.appendChild(p); //附加到碎片对象中
}
div.appendChild(f);//最后返给DIV对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韦涵涵
2009-04-07 · TA获得超过3892个赞
知道大有可为答主
回答量:1034
采纳率:100%
帮助的人:1500万
展开全部
我知道楼主是什么原因...

楼主应该这样做.....

var p=document.createElement("p");

然后再用appendChild方法把p 元素添加到 div

如果楼主还是解决不了这个问题的话...

请百度HI我!!帮你解决.....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4bfe8b9
2009-04-07 · TA获得超过161个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:116万
展开全部
楼主我是来拿分的... 标准的DOM生成节点、插入.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
p{border:1px solid #000; margin:4px auto; width:100px; text-align:center}
</style>
</head>

<body>
<div id="outer"></div>
</body>
</html>
<script type="text/javascript">
function test(){
var outer=document.getElementById("outer");
for(var i=0;i<5;i++){
var p=document.createElement("p");
var txt=document.createTextNode("第"+i+"个p");
p.appendChild(txt);
outer.appendChild(p);
}
}
test();
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式