大侠们: 这问题困扰我一天半了,到晚上了,必须请教大侠们了,还请看到后给些建议。 我的需求: 在一张JS页面上,要展现两个smartclient的htmlFlow控件,这两个htmlFlow控件的contents完全一样!
这就是说,完全相同的一段HTML代码,会在一个页面上出现两次,问题来了, 这完全相同的两段HTML代码,其标签的ID也是相同的(我目前不打算动态生成ID,看还有没有其它办法),
此时用document.getElementById('aaa')获取标签时,只能获取第一个,始终不能获取下面的几个。
高手们,发话吧
这就是说,完全相同的一段HTML代码,会在一个页面上出现两次,问题来了, 这完全相同的两段HTML代码,其标签的ID也是相同的(我目前不打算动态生成ID,看还有没有其它办法),
此时用document.getElementById('aaa')获取标签时,只能获取第一个,始终不能获取下面的几个。
高手们,发话吧
解决方案 »
- jsp页面用a标签调用js函数在火狐浏览器下链接失效求解决
- js初学,请教《javascript DOM编程艺术》一书中几个不明白的问题。
- 【求助】关于html5 canvas画板的js文件
- 下拉框提示功能求助!
- 写了一个js的方法,sbmit返回false,表单还会发送Action请求
- 求一个树
- 一个框架页面的问题?
- 请问怎么执行代码后面的javascript函数,也就是”onclick=“ 写在 function的前面
- 这个程序为什么跑不动?很急,解决就给分!
- jquery取不到hiddenfield的值
- 如何用dom操作选择具有相同className的元素?
- 超级简单!image对象数组的问题?
好像不能实现,id应该是唯一的
你要一起取得2个标签吗?用name试试呢
names[0]是第一个
names[1]是第二个
<div id = 'DIV' class = 'className'>1</div>
<div id = 'DIV'>2</div>
<div id = 'DIV'>3</div> <script language="JavaScript">
<!-- document.getElementsById = function(id) {
if (typeof(id) == 'string') {
var all = document.getElementsByTagName('*');
var length = all.length;
var elements = [];
while (length) {
if (all[--length]['id'] == id) {
elements.unshift(all[length])
}
}
return elements.length == 0 ? null : elements.length == 1 ? elements[0] : elements
}
return null
}
alert( document.getElementsById('DIV') )
//-->
</script>
// 似乎楼上几位恰恰忽略了 IE下用getElementsByName取DIV也是不可以的//还是需要模拟
<div id = 'DIV' class = 'className'>1</div>
<div name = 'odiv'>2</div>
<div name = 'odiv'>3</div> <script language="JavaScript">
<!--
var getElementsByName = function(tag, name){
var returns = document.getElementsByName(name);
if(returns.length > 0) return returns;
returns = new Array(); var e = document.getElementsByTagName(tag);
for(var i = 0; i < e.length; i++){
if(e[i].getAttribute("name") == name){
returns[returns.length] = e[i];
}
}
return returns;
} alert(getElementsByName('div','odiv')[0].innerHTML)
alert(getElementsByName('div','odiv')[1].innerHTML)
//-->
</script>
这本身就是一个错误!!!
难道楼主的浏览器版本低没有检测出来?
NAME就是人的姓名尽量不要用相同的ID,可以尝试document.getElementByTagName
改为
document.getElementsByName('aaa')
如前面的几位楼主所说,使用document.getElementsByName(name);这个方法返回一个数组。
重写document.getElementById = function(){} ;也行。但是何必多次一举呢。