首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要选择多个SPAN元素

我需要选择多个SPAN元素
EN

Stack Overflow用户
提问于 2018-02-03 01:05:39
回答 5查看 758关注 0票数 0

在我的网页上,我想要“隐藏”或“取消隐藏”几个已经在DIV元素中的元素(在本例中是C和F),例如:

代码语言:javascript
复制
<div> Select A or B <span name='hide' > or C</span></div>
<div> Also select D or E <span name='hide' > or F</span></div>
(etc)

我使用javascript在页面打开时隐藏所有“隐藏”元素,除了在localhost上打开页面时,所有元素都会显示出来。我不一定知道有多少个‘隐藏’元素(动态生成)。

代码语言:javascript
复制
var hids=document.getElementsByName('hide');
if(hids!=null) {
    for(var j=0; j< hids.length; j++) {
        if(localhost==true) { // only if on localhost
            hids[j].style.visibility='visible';
        }
        else hids[j].style.visibility='hidden';
    }
}

但是,'name‘属性对于SPAN无效。当我使用DIV而不是SPAN时,它会弄乱格式。我应该如何正确地解决这个问题?

EN

回答 5

Stack Overflow用户

发布于 2018-02-03 01:10:48

使用class而不是name

代码语言:javascript
复制
<span class="my-class"> or C</span>

getElementsByClassName而不是getElementsByName

代码语言:javascript
复制
document.getElementsByClassName("my-class");
票数 2
EN

Stack Overflow用户

发布于 2018-02-03 01:10:49

如果span没有name属性,请尝试使用class name

代码语言:javascript
复制
var hids=document.getElementsByClassName('hide');

并将您的html更改为

代码语言:javascript
复制
<div> Select A or B <span class='hide' > or C</span></div>
<div> Also select D or E <span class='hide' > or F</span></div>
票数 2
EN

Stack Overflow用户

发布于 2018-02-03 01:12:30

您可以使用querySelectorAll按className hide查找

代码语言:javascript
复制
var localhost = false;
var hids = document.querySelectorAll('.hide');

if (hids != null) {
  for (var j = 0; j < hids.length; j++) {
    if (localhost) { // only if on localhost
      hids[j].style.visibility = 'visible';
    } else hids[j].style.visibility = 'hidden';
  }
}
代码语言:javascript
复制
<div> Select A or B <span class='hide'> or C</span></div>
<div> Also select D or E <span class='hide'> or F</span></div>
(etc)

资源

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48587581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档