jquery语法转换为js语法

$("div[class$='dsk']").hide();

如上代码,是将div的class结尾为dsk的标签设为隐藏的一个脚本,但现在不能使用jquery,请问如何使用js实现效果呢?

阅读 4.1k
5 个回答
var nodes = document.getElementsByTagName('div');
var cls;
var reg = /dsk$/;
for (var i=0; i < nodes.length; i++) {
    cls = nodes[i].getAttribute('class');
    if (cls && reg.test(cls)) {
        nodes[i].style.display = 'none';
    }
}
var divs=document.querySelectorAll("div[class$='dsk']");
for(var i=0,j=divs.length;i<j;i++){
    divs[i].style.display="none";
}

支持现代浏览器。

CSS 选择符支持简单的正则啊:

document.querySelector("[class$='dsk']").style.display = 'none'

有,是我放错位置了。。。

var els = document.querySelectorAll('[class$="dsk"]');
[].forEach.call(els, function (el) {
    el.style.display = 'none';
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题