谁知道怎么来获取class啊? var $ = function(id){return document.getElementById(id)} 我知道这是获取ID的.但class的要怎么写的?比如:$(".box");跟jq的一样.但jq库里的我看不懂 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 document.getElementsByClassName返回为数组 lz请试试下面的代码,简单测试了下firefox,chrome,ie9<html><head><script>function test(){ var btn = document.getElementById('btn1'); var classs = btn.getAttribute('className')||btn.getAttribute('class'); alert(classs);}</script></head><body><input id='btn1' type='button' value='Button' class='lefts' onclick='test()' /></body></html> lz请试试下面的代码,简单测试了下firefox,chrome,ie9,不好意思,上面格式发错了.<html><head><script>function test(){ var btn = document.getElementById('btn1'); var classs = btn.getAttribute('className')||btn.getAttribute('class'); alert(classs);}</script></head><body><input id='btn1' type='button' value='Button' class='lefts' onclick='test()' /></body></html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><div></div><div class="abcdefg ass"></div><div class="aaa"></div><div class="aaa"></div><div class="abcdefg"></div><div class="aaa"></div><div class="abcdefg"></div><div class="aaa"></div><script>var $$ = function(strCls){ var temp = document.getElementsByTagName('*'); var result = []; for(var i=0,j=temp.length,cls;i<j;i++){ cls = temp[i].className.split(/\s+/); for(var k=0,l=cls.length;k<l;k++){ if(cls[k]===strCls){ result.push(temp); break; } } } return result;}alert($$('abcdefg').length);alert($$('ass').length);</script></body></html> JS没有直接的document.getElementsByClassName,一般都是用下面的方法来自定义一个这样的函数:var getElementsByClassName = function(strClassName){ var temp = document.getElementsByTagName('*'); var result = []; for(var i=0,j=temp.length,cls;i<j;i++){ cls = temp[i].className.split(/\s+/); for(var k=0,l=cls.length;k<l;k++){ if(cls[k]===strClassName){ result.push(temp); break; } } } return result;}复制过去,使用时只要 var 结果集=getElementsByClassName('CLASS样式名称'); 即可。结果集是一个数组。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><div></div><div class="abcdefg ass"></div><div class="aaa"></div><div class="aaa"></div><div class="abcdefg"></div><div class="aaa"></div><div class="abcdefg"></div><div class="aaa"></div><script>var $$ = function(strCls){ var temp = document.getElementsByTagName('*'); var result = []; for(var i=0,j=temp.length,cls;i<j;i++){ cls = temp[i].className.split(/\s+/); for(var k=0,l=cls.length;k<l;k++){ if(cls[k]===strCls){ result.push(temp[i]); break; } } } return result;}alert($$('abcdefg').length);alert($$('ass').length);</script></body></html>之前的代码少个[i]。这段代码比较简单了。如果这个都觉得复杂的话,楼主可能不适合做开发。 样式更改不了 js和jquery获取对象 求解决这个问题 如何实现Object.prototype.show()的功能 javascript控制displayIE下正常,火狐不行,什么原因, IE下调试一切正常,Opera下调试可以起作用,但会打乱布局,而火狐下根本就不起作 innerHTML的问题,在线等,,急~~~ xmlhttp中open方法可以请求servlet吗? 第一次碰到js不兼容IE 请教这个二级级联菜单下面该怎么写!?up有分了! 还是关于数组... 星级评价jquery求改进 JS脚本遇到“尚未实现”错误
lz请试试下面的代码,简单测试了下firefox,chrome,ie9
<html>
<head>
<script>
function test(){ var btn = document.getElementById('btn1');
var classs = btn.getAttribute('className')||btn.getAttribute('class');
alert(classs);
}
</script>
</head><body>
<input id='btn1' type='button' value='Button' class='lefts' onclick='test()' />
</body></html>
<html>
<head>
<script>
function test(){ var btn = document.getElementById('btn1');
var classs = btn.getAttribute('className')||btn.getAttribute('class');
alert(classs);
}
</script>
</head><body>
<input id='btn1' type='button' value='Button' class='lefts' onclick='test()' />
</body></html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head><body>
<div></div>
<div class="abcdefg ass"></div>
<div class="aaa"></div>
<div class="aaa"></div>
<div class="abcdefg"></div>
<div class="aaa"></div>
<div class="abcdefg"></div>
<div class="aaa"></div>
<script>
var $$ = function(strCls){
var temp = document.getElementsByTagName('*');
var result = [];
for(var i=0,j=temp.length,cls;i<j;i++){
cls = temp[i].className.split(/\s+/);
for(var k=0,l=cls.length;k<l;k++){
if(cls[k]===strCls){
result.push(temp);
break;
}
}
}
return result;
}
alert($$('abcdefg').length);
alert($$('ass').length);
</script>
</body>
</html>
var temp = document.getElementsByTagName('*');
var result = [];
for(var i=0,j=temp.length,cls;i<j;i++){
cls = temp[i].className.split(/\s+/);
for(var k=0,l=cls.length;k<l;k++){
if(cls[k]===strClassName){
result.push(temp);
break;
}
}
}
return result;
}复制过去,使用时只要 var 结果集=getElementsByClassName('CLASS样式名称'); 即可。结果集是一个数组。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head><body>
<div></div>
<div class="abcdefg ass"></div>
<div class="aaa"></div>
<div class="aaa"></div>
<div class="abcdefg"></div>
<div class="aaa"></div>
<div class="abcdefg"></div>
<div class="aaa"></div>
<script>
var $$ = function(strCls){
var temp = document.getElementsByTagName('*');
var result = [];
for(var i=0,j=temp.length,cls;i<j;i++){
cls = temp[i].className.split(/\s+/);
for(var k=0,l=cls.length;k<l;k++){
if(cls[k]===strCls){
result.push(temp[i]);
break;
}
}
}
return result;
}
alert($$('abcdefg').length);
alert($$('ass').length);
</script>
</body>
</html>
之前的代码少个[i]。
这段代码比较简单了。
如果这个都觉得复杂的话,楼主可能不适合做开发。