jquery 个 show/hide 个按钮
jquery multiple show/hide buttons
我正在尝试将很多 JavaScript 转换为 jQuery,我有一个任务,我认为有一个简单的 jQuery 快捷方式,但我不知道它是什么是,但我找不到示例。
我有一个页面有很多切换 divs。它们采用以下形式,其中 ### 是每对的唯一整数。
<button class='togglebutton' onclick="toggle('div###');">+</button>
<div id='div###'>...some text...</div>
我假设快捷方式是这样的:
$('.togglebutton').onclick(function() {
var divid = '#div'+?????;
$(divid).toggle();
});
我的理论...如果我给每个按钮一个id,例如'button###',那么我可以使用子字符串来获取单词'button'之后的值,例如:
$(this).id().substring(6,3);
显然,这没有用。所以,我想我应该问 jQuery 中是否有一个简单的快捷方式来将显示隐藏按钮与单独的 div.
配对
如果 HTML 的顺序与您在问题中显示的一样,则使用:
$('.togglebutton').click(function() {
$(this).next().toggle();
});
$('.togglebutton').click(function() {
$(this).next().toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button class='togglebutton'>+</button>
<div id='div1'>...some text...</div>
<button class='togglebutton'>+</button>
<div id='div2'>...some text...</div>
<button class='togglebutton'>+</button>
<div id='div3'>...some text...</div>
两种方式:
1) 您可以对所有 div 和 select 使用一些通用的 class 属性。
或者
2) 或者你可以使用这个通配符 select 或者 :
$("[id^=div]")
它给你所有的 divid 以 div 开头的。
无论您的 div 位于 http://jsfiddle.net/tg5op333/25/
的哪个位置,您都可能想要执行此操作
HTML
<button class='togglebutton' data-id="1">+</button>
<div id='1' style="display:none">...some text...</div>
<button class='togglebutton' data-id="2">+</button>
<div id='2' style="display:none">...some text...</div>
<button class='togglebutton' data-id="3">+</button>
<div id='3' style="display:none">...some text...</div>
<button class='togglebutton' data-id="4">+</button>
<div id='4' style="display:none">...some text...</div>
JS:
$('.togglebutton').click(function() {
$("#"+ $(this).data('id')).toggle();
});
我正在尝试将很多 JavaScript 转换为 jQuery,我有一个任务,我认为有一个简单的 jQuery 快捷方式,但我不知道它是什么是,但我找不到示例。
我有一个页面有很多切换 divs。它们采用以下形式,其中 ### 是每对的唯一整数。
<button class='togglebutton' onclick="toggle('div###');">+</button>
<div id='div###'>...some text...</div>
我假设快捷方式是这样的:
$('.togglebutton').onclick(function() {
var divid = '#div'+?????;
$(divid).toggle();
});
我的理论...如果我给每个按钮一个id,例如'button###',那么我可以使用子字符串来获取单词'button'之后的值,例如:
$(this).id().substring(6,3);
显然,这没有用。所以,我想我应该问 jQuery 中是否有一个简单的快捷方式来将显示隐藏按钮与单独的 div.
配对如果 HTML 的顺序与您在问题中显示的一样,则使用:
$('.togglebutton').click(function() {
$(this).next().toggle();
});
$('.togglebutton').click(function() {
$(this).next().toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button class='togglebutton'>+</button>
<div id='div1'>...some text...</div>
<button class='togglebutton'>+</button>
<div id='div2'>...some text...</div>
<button class='togglebutton'>+</button>
<div id='div3'>...some text...</div>
两种方式:
1) 您可以对所有 div 和 select 使用一些通用的 class 属性。
或者
2) 或者你可以使用这个通配符 select 或者 :
$("[id^=div]")
它给你所有的 divid 以 div 开头的。
无论您的 div 位于 http://jsfiddle.net/tg5op333/25/
的哪个位置,您都可能想要执行此操作
HTML
<button class='togglebutton' data-id="1">+</button>
<div id='1' style="display:none">...some text...</div>
<button class='togglebutton' data-id="2">+</button>
<div id='2' style="display:none">...some text...</div>
<button class='togglebutton' data-id="3">+</button>
<div id='3' style="display:none">...some text...</div>
<button class='togglebutton' data-id="4">+</button>
<div id='4' style="display:none">...some text...</div>
JS:
$('.togglebutton').click(function() {
$("#"+ $(this).data('id')).toggle();
});