Javascript使用复选框隐藏/显示类
我只是在学习javascript,所以请容忍我 我希望能够使用复选框选择隐藏/显示div类(基本上过滤显示的信息量)。它是在……中完成的。。。但我正在尝试找出更简单的方法(因为我不需要动态生成复选框选项) 我遇到了这个例子:Javascript:Javascript使用复选框隐藏/显示类,javascript,Javascript,我只是在学习javascript,所以请容忍我 我希望能够使用复选框选择隐藏/显示div类(基本上过滤显示的信息量)。它是在……中完成的。。。但我正在尝试找出更简单的方法(因为我不需要动态生成复选框选项) 我遇到了这个例子:Javascript: function showMe (it, box) { var vis = (box.checked) ? "block" : "none"; document.getElementById(it).style.display = v
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有什么好处。只是他们记录了一种添加它的方法。为什么它不只是实现(最好比代码中的更好!)我不能告诉你。。。