我是编程和尝试简化一些jquery / javascript代码的新手,但我没有取得多大成功。我尝试调整此处的解决方案:jQuery Simplify
......但又一次,没有成功。
这是我的jquery代码:
<script>
$(document).ready(function(){
$("#hide01").click(function(){
$(".content01").hide();
});
$("#show01").click(function(){
$("p").hide();
$(".content01").show();
});
$("#hide02").click(function(){
$(".content02").hide();
});
$("#show02").click(function(){
$("p").hide();
$(".content02").show();
});
});
</script>
HTML:
<button id="hide01">Hide</button>
<button id="show01">Show</button>
<button id="hide02">Hide</button>
<button id="show02">Show</button>
<p class="content01">Content 01</p>
<p class="content02">Content 02</p>
此解决方案正在运行但我需要40个按钮/内容块......
任何人都可以提供帮助?谢谢!
答案 0 :(得分:7)
我会将HTML更改为:
<button class="btn_hide" data-id="01">Hide</button>
<button class="btn_show" data-id="01">Show</button>
<button class="btn_hide" data-id="02">Hide</button>
<button class="btn_show" data-id="02">Show</button>
<p id="content01">Content 01</p>
<p id="content02">Content 02</p>
然后你的jQuery可以是:
$(".btn_hide").click(function() {
$("#content"+this.getAttribute("data-id")).hide();
});
$(".btn_show").click(function() {
$("p").hide();
$("#content"+this.getAttribute("data-id")).show();
});
答案 1 :(得分:2)
使用jQuery你可以叠加选择器IE:
$("#hide01, #show01").click(function(){
$(".content01").hide();
});
但我个人不会使用ID,而是使用一个类:
<button id="hide01" class="hide">Hide</button>
<button id="show01" class="show">Show</button>
<button id="hide02" class="hide">Hide</button>
<button id="show02" class="show">Show</button>
<button id="hide03" class="hide">Hide</button>
<button id="show04" class="show">Show</button>
<强> JS 强>
$(".hide").click(function(){
$(".content01").hide();
});
//Etc Etc..