我无法使用元素ID而无法遍历DOM树。
这是HTML结构:
<dl id="dd-prefix-one" class="dropdown f-left">
<dt><a href="#">Lorem<span class="value">ipsum</span></a></dt>
<dd><ul>...</ul></dd>
</dl>
这是我目前正在使用的JQuery:
$('#dd-prefix-one dt a').click(function() {
$('#dd-prefix-one dd ul').slideToggle();
$('#dd-prefix-two dd ul, #dd-prefix-three dd ul, #dd-prefix-four dd ul, #dd-prefix-five dd ul').fadeOut(200);
});
这个JQuery在我的代码中重复了5次,只是改变了ID ...因此需要远离ID特定。
我尝试过使用.prevUntil()......虽然我一定错过了什么。
任何帮助都会得到极大的赞赏,谢谢
答案 0 :(得分:2)
有点像这样的东西应该有效(未经测试)
$('dl.dropdown dt a').click(function() {
$(this).closest('dl').find('ul').slideToggle();
$('dl.dropdown dt a').not(this).find('ul').fadeOut(200);
});
答案 1 :(得分:2)
使用粘贴的代码:
<dl id="dd-prefix-one" class="dropdown f-left">
<dt><a href="#">Lorem<span class="value">ipsum</span></a></dt>
<dd><ul>...</ul></dd>
</dl>
您可以使用以下内容:
$('dl dt a').click(
function() {
$(this).closest('dl').find('ul').slideToggle();
$(this).closest('dl').siblings().find('ul').fadeOut(200);
return false;
});
答案 2 :(得分:0)
将它抽象为一个以id作为参数的函数。