动态 新增DIV,如何找到?

l171147904 2010-04-09 11:57:43
document.body.document.getElementsByName("panelDiv") 这样找不到!

码:
div = document.createElement("div");
div.id = "panelDiv" + Math.random();
div.name = "panelDiv";
document.body.appendChild(div);

如何找到这DIV

谢谢!
...全文
272 32 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiazhi 2010-04-09
  • 打赏
  • 举报
回复
弄个div当前容器的
<div id="container">
<div>

div = document.createElement("div");
div.id = "panelDiv" + Math.random();
div.name = "panelDiv";
document.getElementById("container").appendChild(div);

var options = document.getElementById("container").getElementsByTagName("div");


chen_ya_ping 2010-04-09
  • 打赏
  • 举报
回复
要是你的JS还可以的话,找到这个DIV节点不是很困难,具体的可以看看页面源代码文件。
Imoagn 2010-04-09
  • 打赏
  • 举报
回复
这种情况最好就不要再自己写原始Javascript了,不太好维护

div = document.createElement("div");
div.id = "panelDiv" + Math.random();
div.name = "panelDiv";
document.body.appendChild(div);

用Jquery可以直接写成

var newDiv=$("div");
newDiv.attr("id","panelDiv"+Math.random());
newDiv.attr("name","panelDiv");
newDiv.appendTo(document.body);

查找并依次处理的时候,就是:
$("[name=panelDiv]").each(function(i,elem){
alert("这是第"+i+"个div,内容是"+$(elem).text());
})
yangchu1986 2010-04-09
  • 打赏
  • 举报
回复
那你可以通过getElementByName获取一个集合啊。
再遍历集合找到你要的那个啊。
l171147904 2010-04-09
  • 打赏
  • 举报
回复
我就是想要这么一个 DIV组,来操作!
Achilles_Dynasty 2010-04-09
  • 打赏
  • 举报
回复
通过Name属性,最多获取一个div的数组,想要单独操作具体哪个div不可以。除了生成div时给每个div加上一个有规律的id,我觉得没有别的办法。建议在js全局变量那里放一个变量,用来记录生成多少div。
id命名换成:
var index = 1;
。。。。。一些操作
div.id = "panelDiv" + index;
index++;
l171147904 2010-04-09
  • 打赏
  • 举报
回复
我意思就不需要通过ID!通过 NAME 属性!

用户若生成50个DIV,你要记录50个?
指间的风 2010-04-09
  • 打赏
  • 举报
回复
就像数据库里的表,你需要找到唯一标示来表述这个DIV。
指间的风 2010-04-09
  • 打赏
  • 举报
回复
"panelDiv" + Math.random()
最好把你 Math.random() 部分换成一个可维护或可访问的。
要不真的找不到。
指间的风 2010-04-09
  • 打赏
  • 举报
回复
给ID属性赋值。
ztingtingmck 2010-04-09
  • 打赏
  • 举报
回复
<script type="text/javascript">
div = document.createElement("div");
div.id = "panelDiv" +Math.random();
div.name = "panelDiv";
document.appendChild(div);
document.getElementById("panelDiv"+Math.random());
alert(document.getElementById("panelDiv"+Math.random()));
</script>
yingyuebingya 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sp1234 的回复:]
发错了吧。发到html和javascript论坛上问问吧。
[/Quote]
呵呵,这边熟悉吧。
yingyuebingya 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 l171147904 的回复:]
document.body.document.getElementsByName("panelDiv") 这样找不到!

码:
div = document.createElement("div");
div.id = "panelDiv" + Math.random();
div.name = "panelDiv";
document.body.appendChild(div);
……
[/Quote]

document.getElementsByNames("panelDiv");
//加个S试试
  • 打赏
  • 举报
回复
发错了吧。发到html和javascript论坛上问问吧。
migercai 2010-04-09
  • 打赏
  • 举报
回复
用jquery的话方便的
migercai 2010-04-09
  • 打赏
  • 举报
回复
document.getElementsByName("name")
l171147904 2010-04-09
  • 打赏
  • 举报
回复
我可能创建很多DIV 通过ID找不现实。。。。

我想通过 NAME 属性找!
migercai 2010-04-09
  • 打赏
  • 举报
回复
document.getElementById("你的ID")
migercai 2010-04-09
  • 打赏
  • 举报
回复
document.body.document.getElementById("panelDiv")
zhxwen1 2010-04-09
  • 打赏
  • 举报
回复
注意加载的顺序,js要在页面加载之后执行,即div已经生成才能调用,可以在js标签里加上defer=defer
加载更多回复(12)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧