关于ie浏览器无法识别js中getElementsByClassName问题,现通过以下方法,引用如下js
/***打印js对象详细信息*/
function alertObj(obj)
{var description = "";for ( var i in obj){var property = obj[i];description += i + " = " + property + "\n";}alert(description);
}/***通过class名和标签名获取css样式对象组*/
function getClassNames(classStr, tagName)
{if (document.getElementsByClassName){return document.getElementsByClassName(classStr)} else{//为了兼容ie8及其以下版本的方法var nodes = document.getElementsByTagName(tagName), ret = [];for (i = 0; i < nodes.length; i++){if (hasClass(nodes[i], classStr)){ret.push(nodes[i])}}return ret;}
}/***判断节点class存在性*/
function hasClass(tagStr, classStr)
{//这个正则表达式是因为class可以有多个,判断是否包含 var arr = tagStr.className.split(/\s+/);for ( var i = 0; i < arr.length; i++){if (arr[i] == classStr){return true;}}return false;
}//由于加载顺序,获取对象的代码应写在对象已加载之后
var spans = getClassNames('nm', 'span');
if (null != spans)
{//alertObj(divs);//遍历对象,改其css样式for ( var i = 0; i < spans.length; i++){spans[i].innerHTML =weixin[0];}
}//由于加载顺序,获取对象的代码应写在对象已加载之后
var spans = getClassNames('wx', 'span');
if (null != spans)
{//alertObj(divs);//遍历对象,改其css样式for ( var i = 0; i < spans.length; i++){spans[i].innerHTML = weixin[1];}
}