大侠们,如何用getElementById选择多个标签?

thankall 2009-10-24 08:45:02
大侠们:

这问题困扰我一天半了,到晚上了,必须请教大侠们了,还请看到后给些建议。

我的需求:

在一张JS页面上,要展现两个smartclient的htmlFlow控件,这两个htmlFlow控件的contents完全一样!
这就是说,完全相同的一段HTML代码,会在一个页面上出现两次,问题来了,

这完全相同的两段HTML代码,其标签的ID也是相同的(我目前不打算动态生成ID,看还有没有其它办法),
此时用document.getElementById('aaa')获取标签时,只能获取第一个,始终不能获取下面的几个。


高手们,发话吧。。。
...全文
1673 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
=== 结贴,给分 ===
  • 打赏
  • 举报
回复
[Quote=引用楼主 thankall 的回复:]
大侠们:

      这问题困扰我一天半了,到晚上了,必须请教大侠们了,还请看到后给些建议。

      我的需求:

      在一张JS页面上,要展现两个smartclient的htmlFlow控件,这两个htmlFlow控件的contents完全一样!
      这就是说,完全相同的一段HTML代码,会在一个页面上出现两次,问题来了,

      这完全相同的两段HTML代码,其标签的ID也是相同的(我目前不打算动态生成ID,看还有没有其它办法),
      此时用document.getElementById('aaa')获取标签时,只能获取第一个,始终不能获取下面的几个。

     
      高手们,发话吧。。。
[/Quote]
给html标签加上name属性。页面里面的ID是唯一的,document.getElementById(id),当页面出现多个ID的时候,它最终取一个ID节点。那个节点就是最后一个id节点。
如前面的几位楼主所说,使用document.getElementsByName(name);这个方法返回一个数组。
重写document.getElementById = function(){} ;也行。但是何必多次一举呢。
lodachi 2009-10-29
  • 打赏
  • 举报
回复
2楼正解
zcl24 2009-10-29
  • 打赏
  • 举报
回复
不行 jquery或。。。byName就可以
sumjor 2009-10-29
  • 打赏
  • 举报
回复
学习了
thankall 2009-10-29
  • 打赏
  • 举报
回复
说实在的,我是在用SMART CLIENT,其中有HTMLFlow控件,我继承了CANVAS控件,模拟出自己的HTMLFlow控件,只是派生类里的contents是一个写死了的HTML字符串,里面有ID,所以当这控件在同一页面被使用多次的时候,一些标签的ID自然就重复了。

moliu 2009-10-26
  • 打赏
  • 举报
回复
mark then study
床上等您 2009-10-26
  • 打赏
  • 举报
回复
document.getElementByTagName
漫漫2009 2009-10-26
  • 打赏
  • 举报
回复
学习
yixianggao 2009-10-26
  • 打赏
  • 举报
回复
document.getElementById('aaa')
改为
document.getElementsByName('aaa')
caobob 2009-10-26
  • 打赏
  • 举报
回复
jquery('*[id]=ctl_id')不知道能不能获得
jol_boy 2009-10-26
  • 打赏
  • 举报
回复
Id犹如身份证,不可重名。用name吧,然后得到一个数组,在进行解析
RUN_ 2009-10-26
  • 打赏
  • 举报
回复
用户name 或者tagname + attribute 方法
老张-AI 2009-10-26
  • 打赏
  • 举报
回复
mark收藏

学习了
hitlcyu19 2009-10-26
  • 打赏
  • 举报
回复
还是用name吧 id是唯一的
xiaojing7 2009-10-25
  • 打赏
  • 举报
回复
ID就好比身份证号,
NAME就是人的姓名

尽量不要用相同的ID,可以尝试document.getElementByTagName
浴火_凤凰 2009-10-25
  • 打赏
  • 举报
回复
这完全相同的两段HTML代码,其标签的ID也是相同的?
这本身就是一个错误!!!
难道楼主的浏览器版本低没有检测出来?
草根醉秋意 2009-10-25
  • 打赏
  • 举报
回复
为什么要用相同的id?id本来就是唯一的,在服务器端不是很容易控制html的输出吗,所以加个name属性比较好。
Aslangg 2009-10-25
  • 打赏
  • 举报
回复
学习~
swandragon 2009-10-25
  • 打赏
  • 举报
回复
mark
加载更多回复(6)

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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