Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript使用复选框隐藏/显示类_Javascript - Fatal编程技术网

Javascript使用复选框隐藏/显示类

Javascript使用复选框隐藏/显示类,javascript,Javascript,我只是在学习javascript,所以请容忍我 我希望能够使用复选框选择隐藏/显示div类(基本上过滤显示的信息量)。它是在……中完成的。。。但我正在尝试找出更简单的方法(因为我不需要动态生成复选框选项) 我遇到了这个例子:Javascript: function showMe (it, box) { var vis = (box.checked) ? "block" : "none"; document.getElementById(it).style.display = v

我只是在学习javascript,所以请容忍我

我希望能够使用复选框选择隐藏/显示div类(基本上过滤显示的信息量)。它是在……中完成的。。。但我正在尝试找出更简单的方法(因为我不需要动态生成复选框选项)

我遇到了这个例子:Javascript:

 function showMe (it, box) { 
   var vis = (box.checked) ? "block" : "none"; 
   document.getElementById(it).style.display = vis;
 } 
HTML

<form>
<input type="checkbox" checked="checked" value="value1" onclick="showMe('div1', this)" />value1
<input type="checkbox" checked="checked" value="value2" onclick="showMe('div2', this)" />value2
<input type="checkbox" checked="checked" value="value3" onclick="showMe('div3', this)" />value3
</form>

<div id="div1" style="display:block">Show Div 1</div>
<div id="div2" style="display:block">Show Div 2</div>
<div id="div3" style="display:block">Show Div 3</div>

</body>

</html>

价值1
价值2
价值3
节目组1
节目组2
节目组3
但它只适用于div id,而不适用于类。你知道我该怎么做吗


如果你能帮助我,请提前感谢

目前,您最好使用、或类似的库来完成这类工作,因为按类名查找元素的标准化(document.getElementsByClassName方法)相对较新,至少一个主要浏览器还不支持它(他们希望添加它,但不是一个很好的方法)

在Prototype中,
$
函数按建议建议的大部分子集进行搜索。在jQuery中,
$
函数做的事情大致相同(通过选择器引擎,它也可以单独使用,与jQuery分离)

在Prototype中,可以按类显示或隐藏元素,如下所示:

$$('div.myClassName').invoke('hide'); // Hides all matches
$$('div.myClassName').invoke('show'); // Shows all matches
在jQuery中,它是:

$('div.myClassName').hide(); // Hides all matches
$('div.myClassName').show(); // Shows all matches

@大卫:哈哈,我刚刚加上了这些(还有闭口和嘶嘶声)@T.J.克劳德:哈哈,当你的回复出现时,我正在写一个非常类似的回复。我拿走了我的,我觉得我必须添加我和你唯一不同的东西。Ekk。。。我一直害怕尝试jquery,但只花了20分钟就让它完美工作了。太神了谢谢你们!微软的
getElementsByClassName
-for IE代码不是很好。它只适用于IE8,对于包含标点符号的类名,它失败了,而且(非常奇怪)它使用缓慢的多个过程/选择器,而这一切都可以在一个过程中完成。避免。(就像所有的
getElementsByClassname
fallback代码一样,它当然会返回一个静态节点列表,而不是一个活动的节点列表。)@Bob:哦,我并不是想暗示M$hack有什么好处。只是他们记录了一种添加它的方法。为什么它不只是实现(最好比代码中的更好!)我不能告诉你。。。