影响具有共享类的所有节点

发布于 2025-01-08 00:16:36 字数 580 浏览 1 评论 0原文

我有一个包含 div 的页面,每个 div 都有多个类。

<div class='publication parent20'></div>
<div class='publication parent12 parent42 parent91'></div>
<div class='publication parent20'></div>
<div class='publication parent32 parent23'></div>

我需要一个函数,它将一个类作为变量传递给它,将所有具有发布类的 div 的样式设置为 none,然后设置具有指定类的标签。

function swap_pub(pub){
  document.getElementById("publication").style.display = "none";
  //set style.display = "block" to all elements with class = pub

} 

关于我将如何做到这一点的任何想法。

I have a page with div's that each have multiple classes.

<div class='publication parent20'></div>
<div class='publication parent12 parent42 parent91'></div>
<div class='publication parent20'></div>
<div class='publication parent32 parent23'></div>

I need a function that takes a class passed to it as a variable, sets they style of all divs with publication class to none and then sets tags with the specified class.

function swap_pub(pub){
  document.getElementById("publication").style.display = "none";
  //set style.display = "block" to all elements with class = pub

} 

any thoughts on how I would do this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离线来电— 2025-01-15 00:16:36

使用 getElementsByClassName()MDN

var pubs = document.getElementsByClassName('publication'); // a NodeList

for (var i = 0; i < pubs.length; i++) {
    pubs[i].style.display = 'block';
}

这是使用 jQuery 的样子:

$('.publication').show(); // concise

Use getElementsByClassName()MDN

var pubs = document.getElementsByClassName('publication'); // a NodeList

for (var i = 0; i < pubs.length; i++) {
    pubs[i].style.display = 'block';
}

This is how it looks using jQuery:

$('.publication').show(); // concise
意犹 2025-01-15 00:16:36

还有 querySelectorAll,它的支持范围比 getElementsByClassName 稍微广泛一些。

function setDisplay(className, display) {
    var items = document.querySelectorAll('.' + className); 
    var i = items.length;
    while (i--) {
      items[i].style.display = display;
    }
}

There is also querySelectorAll which is slightly more widely supported than getElementsByClassName.

function setDisplay(className, display) {
    var items = document.querySelectorAll('.' + className); 
    var i = items.length;
    while (i--) {
      items[i].style.display = display;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文