Jes*_*rra 47 javascript internet-explorer-8
我知道" getElementsByClassName
"不支持IE8
.你知道我可以使用什么吗?我因错误而烦恼
"对象不支持此属性或方法".
HTML代码是:
function sumar() {
var elems = document.getElementsByClassName('verdana14 toAdd');
var myLength = elems.length;
total = 0;
for (var i = 0; i < myLength; ++i) {
if (elems[i].value!="") {
total += parseInt(elems[i].value,10);
}
}
var promedio = total/myLength;
parseFloat(document.getElementById('promediocal').value = promedio.toFixed(2));
}
Run Code Online (Sandbox Code Playgroud)
这是调用javascript函数的输入文本:
<input name='AE_EA_1_BIV_003_2' type='text' class='verdana14 toAdd' id='AE_EA_1_BIV_003_2' style='width:50px' onChange='sumar()'/>
<input name='AE_EA_1_BIV_003_3' type='text' class='verdana14 toAdd' id='AE_EA_1_BIV_003_3' style='width:50px' onChange='sumar()'/>
<input name='AE_EA_1_BIV_003_4' type='text' class='verdana14 toAdd' id='AE_EA_1_BIV_003_4' style='width:50px' onChange='sumar()'/>
Run Code Online (Sandbox Code Playgroud)
xan*_*ded 14
getElementsByClassName
IE8不支持该方法.
您应该使用document.querySelectorAll('.classname')
(在IE8 +中工作)或实现该功能的库 - 例如:
jQuery
Moo Tools
DOJO
YUI
Prototype
......其中......
querySelectorAll
支持:
http://www.quirksmode.org/dom/w3c_core.html#t13
getElementsByClassName
支持:
http://www.quirksmode.org/dom/w3c_core.html#t11
你可以写自己的.就像是:
function GEBCN(cn){
if(document.getElementsByClassName) // Returns NodeList here
return document.getElementsByClassName(cn);
cn = cn.replace(/ *$/, '');
if(document.querySelectorAll) // Returns NodeList here
return document.querySelectorAll((' ' + cn).replace(/ +/g, '.'));
cn = cn.replace(/^ */, '');
var classes = cn.split(/ +/), clength = classes.length;
var els = document.getElementsByTagName('*'), elength = els.length;
var results = [];
var i, j, match;
for(i = 0; i < elength; i++){
match = true;
for(j = clength; j--;)
if(!RegExp(' ' + classes[j] + ' ').test(' ' + els[i].className + ' '))
match = false;
if(match)
results.push(els[i]);
}
// Returns Array here
return results;
}
Run Code Online (Sandbox Code Playgroud)
会工作得很好,但如果你愿意,你可以写一个更快的.然后你可以改变:
document.getElementsByClassName('verdana14 toAdd');
Run Code Online (Sandbox Code Playgroud)
至:
GEBCN('verdana14 toAdd');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
83191 次 |
最近记录: |