<TD class="t_f" id="hao_46487966"> <TD class="t_f" id="hao_36487966"> <TD class="t_f" id="hao_16487966"> <TD class="t_f" id="hao_66487966">
<script> var objs = document.getElementsByTagName('TD');//按td取,如有其它标签也同样处理
for(var i = 0; i < objs.length; i++) {
if(objs[i].className = "t_f") {
var str = objs[i].innerHTML;
objs[i].innerHTML = tiem(str);//time? tiem?
}
};
</script>上面这段js代码用来获取td 标签 最后在调用time(str)语句。 我的问题是,能不能不用document.getElementById 或者 className 直接用getElementBy获取页面元素。。 比如下面这段代码 可问题是下面的代码运行出了问题 也不知道问题出在哪 所以麻烦哪位大侠帮帮忙改下。 谢谢啦!!!var objs=null;
for(var i=0;i<99487966;i++){
if(objs=document.getElementById("hao_"+i)){
var str=objs[i].innerHTML;
objs[i].innerHTML=tiem(str);
}
}
<script> var objs = document.getElementsByTagName('TD');//按td取,如有其它标签也同样处理
for(var i = 0; i < objs.length; i++) {
if(objs[i].className = "t_f") {
var str = objs[i].innerHTML;
objs[i].innerHTML = tiem(str);//time? tiem?
}
};
</script>上面这段js代码用来获取td 标签 最后在调用time(str)语句。 我的问题是,能不能不用document.getElementById 或者 className 直接用getElementBy获取页面元素。。 比如下面这段代码 可问题是下面的代码运行出了问题 也不知道问题出在哪 所以麻烦哪位大侠帮帮忙改下。 谢谢啦!!!var objs=null;
for(var i=0;i<99487966;i++){
if(objs=document.getElementById("hao_"+i)){
var str=objs[i].innerHTML;
objs[i].innerHTML=tiem(str);
}
}
你这要循环99487966次,你是要逆天么?
想要用className的话,你第一种方法已经是基本的实现原理了,你可以把它做成一个公用函数。当然,你如果使用了js库的话,大多都有这个功能的。而且很多非IE浏览器下都已经有这个方法了第二种方法想都别想了,99487966次遍历,你有那么多td需要去遍历么,明显是走入误区了
LZvar objs = document.getElementsByTagName('TD');
for(var i = 0; i < objs.length; i++) {
这样遍历就可以了,for(var i=0;i<99487966;i++){
像这样没有那么多次,你要遍历这么多次。。
for(var i = 0; i < objs.length; i++) {
if(objs[i].className = "t_f") {
var str = objs[i].innerHTML;
objs[i].innerHTML = tiem(str);//time? tiem?
}
};语法错误了
if(objs[i].className == "t_f")...
IE下是木有getElementsByClassName滴,得自己扩展
当i的值超过元素的最大id时获取不到元素,此时就会报错不能向下运行