通过名为 id 的数据属性单击展开菜单项
Expand menu item on click by data attribute which named as id
如何通过名为id的数据属性点击展开菜单项?我的意思是,数据属性是 id (data-cats="#movies"
).
HTML
<li class="cat" data-cats="#movies">
MOVIES
</li>
<li class="cat" data-cats="#music">
MUSIC
</li>
etc...
<div class="expander" id="movies">
menu items about movies
</div>
<div class="expander" id="music">
menu items about music
</div>
etc...
jQuery
$('.cat').click(function() {
$('.expander').show();
// dont know what to do next
});
CSS
.expander { display:none; }
如果我点击 li 元素,所有扩展器都会打开,但我只需要找到一个 cliced 元素并展开它。此外,如果我点击其他 li 元素,则应该关闭打开的元素。
感谢您的回答,抱歉英语不好。
您可以使用 data()
获取要放置在选择器中的值。试试这个:
$('.cat').click(function() {
$('.expander').hide(); // hide all shown divs
$($(this).data('cats')).show(); // show the related one
});
从 ID <div class="expander" id="#movies">
中删除 #
。
<div class="expander" id="movies">
menu items about movies
</div>
<div class="expander" id="music">
menu items about music
</div>
$('.cat').click(function() {
$('.expander'+$(this).data('cats')).show(); //or just $($(this).data('cats')).show();
});
如何通过名为id的数据属性点击展开菜单项?我的意思是,数据属性是 id (data-cats="#movies"
).
HTML
<li class="cat" data-cats="#movies">
MOVIES
</li>
<li class="cat" data-cats="#music">
MUSIC
</li>
etc...
<div class="expander" id="movies">
menu items about movies
</div>
<div class="expander" id="music">
menu items about music
</div>
etc...
jQuery
$('.cat').click(function() {
$('.expander').show();
// dont know what to do next
});
CSS
.expander { display:none; }
如果我点击 li 元素,所有扩展器都会打开,但我只需要找到一个 cliced 元素并展开它。此外,如果我点击其他 li 元素,则应该关闭打开的元素。
感谢您的回答,抱歉英语不好。
您可以使用 data()
获取要放置在选择器中的值。试试这个:
$('.cat').click(function() {
$('.expander').hide(); // hide all shown divs
$($(this).data('cats')).show(); // show the related one
});
从 ID <div class="expander" id="#movies">
中删除 #
。
<div class="expander" id="movies">
menu items about movies
</div>
<div class="expander" id="music">
menu items about music
</div>
$('.cat').click(function() {
$('.expander'+$(this).data('cats')).show(); //or just $($(this).data('cats')).show();
});