js怎么根据class获取元素

js怎么根据class获取元素,第1张

非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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9780866.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存