我创建了一个扩展的div,它在使用javascript和jQuery单击时隐藏加载和扩展。我的问题是我需要在每个页面上多次使用此功能(10-30x)。有没有办法使用数组或类似的东西(我是新手,我的道歉)调用函数使用多个Div ID,例如,我的一些div id将是eb1,eb2,eb3,eb4。这是我的脚本,目前适用于一个id:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#eb1').hide();
//hides box at the begining
jQuery("#hide").click(function() {
jQuery('#eb1').fadeOut(300);
//jQuery('#the_box').hide();
});
jQuery("#show").click(function() {
jQuery('#eb1').fadeIn(300);
//jQuery('#the_box').show();
});
});
</script>
任何帮助都会受到赞赏,甚至是解释的链接。 谢谢, 特拉维斯
答案 0 :(得分:2)
除了John Conde's answer之外,还可以使用attribute-starts-with:
jQuery('div[id^="eb"]').hide();
当然,使用特定的类名更容易,然后选择器变为:
jQuery('.className').hide();
参考文献:
答案 1 :(得分:1)
你应该可以通过用逗号分隔id来实现这个目的:
jQuery('#eb1','#eb2','#eb3').hide();
答案 2 :(得分:0)
答案 3 :(得分:0)
将css类添加到所有div
(或者你使用的任何标签)元素中可能会更加清晰,然后在选择器中使用该类?
jQuery('div.hidable').hide();
//hides all 'hidable' boxes
jQuery("#hide").click(function() {
jQuery('div.hidable').fadeOut(300);
});
etc...
答案 4 :(得分:0)
您可以创建一个功能来执行此操作。
让我解释一下
功能ToogleDiv(容器){
// simple toogle $(container).toggle(); // a toogle with some effect $(container).toggle('slow', function() { // add some action }); }
这是一个Jquery示例Toogle Jquery Example
希望这有帮助。
答案 5 :(得分:0)
您可以使用Attribute Starts With Selector [name^="value"]
var divs = $('div[id^="eb"]');
$(divs).hide();
$('#show').click(function(){
$(divs).show();
});
$('#hide').click(function(){
$(divs).hide();
});
上的实例
答案 6 :(得分:0)
function show(var id){
jQuery(id).fadeIn(300);
}
function hide(var id){
jQuery(id).fadeOut(300);
}
然后,在你的div中:
<a id="hide" onClick="hide('eb1')">hide</a>
<a id="show" onClick="show('eb1')">show</a>
<div id="eb1"></div>