我正在尝试制作一个简单的手风琴,但是一旦dds
被点击,我就无法打开dt
。
<dl>
<dt>Lorem ipsum dolor sit amet?</dt>
<dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.</dd>
<dt>Lorem ipsum dolor sit amet?</dt>
<dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.</dd>
<dt>Lorem ipsum dolor sit amet?</dt>
<dd>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.</dd>
</dl>
$('dd').hide();
$('dt').on('click', function() {
$(this).next().toggle();
});
我试过
$(this).next().siblings().hide();
$(this).next().toggle();
但是只有被点击的dt下的dd保持打开状态,其他所有dd都会被隐藏。
答案 0 :(得分:1)
“点击dt后,我无法打开dds。”
如果您希望在点击新广告时关闭所有其他广告,只需在点击内添加您的hide()
广告:
$('dd').hide();
$('dt').on('click', function() {
$('dd').hide();
$(this).next().toggle();
});
虽然您可以使用CSS代替最初的$('dd').hide();
:dd { display:none; }
答案 1 :(得分:0)
siblings()
都会定位任何兄弟姐妹,因此隐藏dd
和dt
个元素。
您需要根据tagName过滤兄弟姐妹,以仅隐藏兄弟dd
元素:
$('dt').on('click', function() {
$(this).next().toggle().siblings('dd').hide()
});