我喜欢Twitter引导程序,但不需要所有功能。虽然它是一个我想要复制的下拉函数。
这是我的HTML:
<nav class="navigation" role="navigation">
<ul class="a">
<li><a class="" href="">Page 1</a></li>
<li><a class="" href="">Page 2</a></li>
<li>
<a class="" href="">Page 3</a>
<ul class="drop_down">
<li><a href="#">List 1</a></li>
<li><a href="#">List 2</a></li>
<li class="nav_divider"></li>
<li><a href="#">List 3</a></li>
<li><a href="#">List 4</a></li>
<li><a href="#">List 5</a></li>
</ul>
</li>
<li><a class="" href="">Page 4</a></li>
<li><a class="" href="">Page 5</a></li>
</ul>
</nav>
到目前为止我的javascript(它并不多):
$('nav.navigation li a').on('click', function() {
if( $('nav.navigation li').has('ul.drop_down') ) {
// Don't know how to add class to the clicked item,
// and not all 'a' in the nav.
}
});
答案 0 :(得分:0)
$('nav.navigation li a').on('click', function(event) {
if( $('nav.navigation li').has('ul.drop_down') ) {
// Don't know how to add class to the clicked item,
alert(event.target.id); //here do stuff with that id
}
});
答案 1 :(得分:0)
首先它应该是
$(function(){
$('nav.navigation li a').on('click', function() {
var $this = $(this);
if( $this.parent('li').children('ul.drop_down').length ) {
$this.addClass('someclass');
}
});
});
演示:Plunker
答案 2 :(得分:0)
$('nav.navigation li a').on('click', function(e) {
if($(this).parent().has('ul.drop_down')) {
$(this).siblings('ul.drop_down').addClass("className");
e.preventDefault();
}
});
调用e.preventDefault();
会阻止重定向,因为当您只想显示下拉列表时,我认为您不希望这样。