大家都是怎样获取class的 兼容好的

qingwadaxia_1 2018-09-06 05:47:03
<div class="page">
<li>首页</li>
<li>末页</li>
</div>

假设上面还有很多div 比如我想获取上面那个div page 通过class的方法如何去获取 完美兼容的 应该如何获取
...全文
340 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingwadaxia_1 2018-09-08
  • 打赏
  • 举报
回复
感谢大神!!
qingwadaxia_1 2018-09-07
  • 打赏
  • 举报
回复
那一般用原生js获取某个div class 只有写成这样:

function getClass(cn) {
if (document.querySelectorAll) {
return document.querySelectorAll("."+cn);
}
var arr = [];
var elem = document.getElementsByTagName("*");
var reg = new RegExp("(^|\\s)"+cn+"($|\\s)");
for (var i = 0; i < elem.length; i++) {
if (reg.test(elem[i].className))
arr.push(elem[i]);
}
return arr;
}

这么复杂的吗
天际的海浪 2018-09-07
  • 打赏
  • 举报
回复
引用 4 楼 qingwadaxia_1 的回复:
那一般用原生js获取某个div class 只有写成这样:

function getClass(cn) {
if (document.querySelectorAll) {
return document.querySelectorAll("."+cn);
}
var arr = [];
var elem = document.getElementsByTagName("*");
var reg = new RegExp("(^|\\s)"+cn+"($|\\s)");
for (var i = 0; i < elem.length; i++) {
if (reg.test(elem[i].className))
arr.push(elem[i]);
}
return arr;
}

这么复杂的吗

其实在jquery出现之前,几乎是没有人会想到能通过class获取元素。
直到jquery出现,完全模仿css选择符,大家才习惯通过class获取元素。
之后w3c才提出原生的querySelectorAll方法,
所以要兼容以前的浏览器就只好自己写函数了。
丰云 2018-09-07
  • 打赏
  • 举报
回复
目前所有js框架里,jquery的兼容性最好,建议采用jquery框架方法
風灬雲 2018-09-07
  • 打赏
  • 举报
回复
jquery 直接获取 $(".page"),其实也就是jquery帮你在内部做了原生封装,
通过获取所有元素再去匹配类名含有“page”的元素;
原生封装 4 楼正解
lee_ttxs 2018-09-07
  • 打赏
  • 举报
回复
jquery ,代码:
$page = $(".page");
天际的海浪 2018-09-06
  • 打赏
  • 举报
回复

jquery中$(".page")可以支持所有浏览器
原生的话
document.getElementsByClassName("page")是IE9+支持
document.querySelectorAll(".page")是IE8+支持
IE7-就要自己写函数了
function getClass(cn) {
if (document.querySelectorAll) {
return document.querySelectorAll("."+cn);
}
var arr = [];
var elem = document.getElementsByTagName("*");
var reg = new RegExp("(^|\\s)"+cn+"($|\\s)");
for (var i = 0; i < elem.length; i++) {
if (reg.test(elem[i].className))
arr.push(elem[i]);
}
return arr;
}

Logerlink 2018-09-06
  • 打赏
  • 举报
回复
用jq,$('div.page')
彩舒 2018-09-06
  • 打赏
  • 举报
回复
其实我没完全懂问题重点在哪,但要是想根据class去找元素,用getElementsByClassName()也行,用jQuery的find(".page")也行,要是你不嫌费劲,用xpath也行

87,839

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧