非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 元素集合等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)