
非IE6,7,8可以直接用自带的属性 getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:
function getClassName(obj,sName) //-->obj是要获取元素的父级
{ //-->sName是class名字
if(documentgetElementsByClassName)
{
return objgetElementsByClassName('sName');
}
else
{
var aTmp = objgetElementsByTagName('');
var aRes=[];
var arr =[];
for(var i=0;i<aTmplength;i++)
{
arr = aTmp[i]classNamesplit(' ');
for (var j=0;j<arrlength;j++)
{
if(arr[j] == sName)
{
aRespush(aTmp[i]);
}
}
}
return aRes;
}
}
大概思路,是将你要获取class元素父级下的所有元素都取出来,再循环查找className,满足的元素存到数组中,然后返回。
思路:首先获取div对象,然后使用className属性获取类名,关键代码如下
1
documentgetElementById("test")className
实例演示:
1、HTML结构
1
2
<div id = "test" class="test_class">我的类名为test_class</div>
<input type='button' value='获取div类名' onclick="fun()"/>
2、javascript代码
1
2
3
4
function fun(){
name = documentgetElementById("test")className;
alert(name);
}
var $container = documentgetElementById('container');
var $ul = $containergetElementsByTagName('ul');
// 要取的class
var className = 'col';
var ulCollection = [];
for (var i = 0; i < $ullength; i += 1) {
var ul = $ul[i],
classList = ulclassNamesplit(' ');
for (var j = 0; j < classListlength; j += 1) {
if (className === classList[j]) {
ulCollectionpush(ul);
break;
}
}
}
consolelog(ulCollection);
例子:
<div class='view view-case-view-all' >
<div class= 'view-content view-content-case-view-all' >
<table border="1" >
<tr class="odd" >
<td class="view-field view-field-node-title" >任务测试</td >
</tr >
</table >
</div >
</div >
<script language="javascript" type="text/javascript" >
documentgetElementsByClassName = function(_className)
{ //根据class获得对象集合
var aimObj = [];
var elements = documentgetElementsByTagName("") ;//取得所有元素的集合
alert(elementslength);
for(var i=0;i<elementslength;i++)
{
if(elements[i]className==null) continue;
if(elements[i]className == _className)
{
function fn(){
var acc = documentgetElementById("acc")value;
//alert(acc);
$post("__APP__/Index/fn",{'acc':acc},function(data){
var x = eval("("+data+")");
var html = "";
$each(x,function(a,aValue){
html += "<h2 class='lisa'>"+a+"</h2>";
//alert(html);
$each(aValue,function(b,bValue){
html += "<li style='display:none;' class='bvvvv'>"+bValue+"</li>";
//alert(html);
});
//html += "</li>";
//fnn();
});
//alert(html);
$("#list")html(html);
});
假如你的ul只有一个或者你要获取class的ul是第一个
var oUl=documentgetElementsByTagName("ul")[0];
alert(oUlclassName);
这个应该是所有浏览器都支持
以上就是关于js怎么根据class获取元素全部的内容,包括:js怎么根据class获取元素、怎样用JS获取CSS中class中的值、js取值class等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)