为什么这个函数getElementsByClassName
不适用于IE7,8?
我认为从
引起我的问题var decimal_id_name = document.getElementsByClassName('decimal')[z_decimal].id
如何申请IE7的工作,8?
http://jsfiddle.net/Fp4sJ/828/
要测试,当用户press button
时,它会提示输入的ID名称。
<form method="post" ENCTYPE = "multipart/form-data" onsubmit="return checkform(this);">
<input type="text" class="decimal" id="number0" size="20" name="number[]">
<input type="text" class="decimal" id="number1" size="20" name="number[]">
<input type="text" class="decimal" id="number2" size="20" name="number[]">
<input type="text" class="decimal" id="number3" size="20" name="number[]">
<input type="text" class="decimal" id="number4" size="20" name="number[]">
<input type="submit" name="submit" value="Next"/>
</form>
<script language="JavaScript" type="text/javascript">
function checkform ( form )
{
function getElementsByClassName(node, classname) {
var a = [];
var re = new RegExp('(^| )'+classname+'( |$)');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
}
var list_decimal = getElementsByClassName(document.body,'decimal');
for (z_decimal = 0; z_decimal < list_decimal.length; ++z_decimal) {
var decimal_id_name = document.getElementsByClassName('decimal')[z_decimal].id
alert(decimal_id_name);
}
return false ;
}
</script>
答案 0 :(得分:0)
答案 1 :(得分:0)
正如您在此处http://caniuse.com/#search=getElementsByClassName和此处https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName所见
函数getElementsByClassName
是在IE9中引入的,因此它在早期版本中不起作用。
答案 2 :(得分:0)
getElementsByClassName
,仅支持IE9及更高版本。您可以使用polyfill来获取功能,也可以使用document.querySelectorAll(selector)
这是一个更强大的功能。参数selector
是IE8的CSS选择器可以执行的任何操作。