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,满足的元素存到数组中,然后返回。

js获取html元素的方式

+通过ID获取:getElementById('id属性值')

+通过标签名:getElementsByTagName('标签名')

+通过类名:getElementsByClassName('类名')

+通过name属性:getElementsByName('name属性值')

+通过选择器获取一个元素:querySelector

+通过选择器获取一组元素:querySelectorAll

1获取id值为d1的html元素

将获取到的html元素称为DOM节点对象,必须传参数,参数是string类型,是获取元素的id。返回值只获取到一个元素,没有找到返回null。

2通过标签名:getElementsByTagName('标签名')

参数是是获取元素的标签名属性,不区分大小写,根据标签名获取html元素, 返回的是一个数组(伪数组) 

通过类名:getElementsByClassName('类名')

参数是元素的类名,返回值是一个类数组,没有找到返回空数组。

通过类名:getElementsByClassName('类名')

必须传参数,参数是是获取元素的name属性,返回值是一个类数组,没有找到返回空数组。

通过选择器获取一个元素:querySelector

参数是选择器,返回值只获取到第一个元素。

通过选择器获取一组元素:querySelectorAll

参数是选择器,返回值是一个数组。

function getByClass(oParent, sClass) { //根据class获取元素

var oReasult = [];

var oEle = oParentgetElementsByTagName("");

for (i = 0; i < oElelength; i++) {

if (oEle[i]className == sClass) {

oReasultpush(oEle[i])

}

};

return oReasult;

}

<!DOCTYPE HTML><html><head><meta charset=UTF-8><title>recursion</title><style type="text/css"></style><script type="text/javascript"> var array = []; onload = function () { var tags = documentbodygetElementsByTagName (''); for ( var i = 0; i < tagslength; i++) { arraypush (getText (tags[i])); } consolelog (array); } var getText = function (dom) { var index = 0, html = dominnerHTML; while (domchildrenlength && index < domchildrenlength) { var chtml = domchildren[index]outerHTML; html = dominnerHTMLreplace(chtml, ''); index++; } return "<font>" + html + "</font>"; }</script></head><body> <p> ths is p<a href="">this is a</a>wyz </p> <i>this is i</i> <b>this is b</b></body></html>

以上就是关于js怎么根据class获取元素全部的内容,包括:js怎么根据class获取元素、js获取html元素的方式、JS 获取class 元素集合等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9766997.html

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

发表评论

登录后才能评论

评论列表(0条)

保存