关于getElementById找到多个id名称?

时间:2015-04-17 06:45:41

标签: javascript html css

我有三个id标记

<div id="view_1"></div>
<div id="view_2"></div>
<div id="view_3"></div>

我使用getElementsByClassName方式可以工作

但&#34; class&#34;我用它来划分css风格

如何使用document.getElementById查找 - &gt; &#34; view_1&#34; &#34; view_2&#34; &#34; view_3&#34;

    function hideDIV(){

        var divs = document.getElementById('view'.*);
        for(var i=0; i<divs.length; i++) { 
          divs[i].style.display='none';
        }
    }

enter image description here

5 个答案:

答案 0 :(得分:4)

你可以这样做:

var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++) {
    if(divs[i].id.indexOf('view_') == 0) {
        divs[i].style.display='none';
    }
}

DEMO

答案 1 :(得分:1)

使用QuerySelectorAll:

document.querySelectorAll('[id^="view_"]').id;

这将获得以view_

开头的所有观看次数

请参阅: Javascript getElementById base on partial string

答案 2 :(得分:0)

尝试这样做:Fiddle

JS:

$('[id*="view"]').hide();

HTML:

<div id="view_1"> dcf</div>
<div id="view_2"> DSg</div>
<div id="view_3"> gsde</div>

答案 3 :(得分:0)

不,它不起作用。

document.getElementById()方法只接受一个参数。

但是,您可以始终为元素设置类,然后使用getElementsByClassName()。现代浏览器的另一个选择是使用querySelectorAll()方法:

使用$("div[id*='view']")

DEMO:http://jsfiddle.net/mkufymqr/1/

答案 4 :(得分:0)

Vanilla JavaScript

document.querySelectorAll('div[id^="view_"]');

jQuery

$('div[id^="view_"]');

CSS 3

div[id^="view_"] { ... }

但是考虑使用类而不是ID来语义定位元素。

例如:搜索具有targetDiv类的所有DIV,并将hidden类添加到它们中。然后在CSS中将hidden类定义为display: none

相关问题