у меня есть неупорядоченный список как левая навигация с несколькими ссылками в нем. большинство элементов списка имеют другой неупорядоченный список в качестве подменю, связанного с ними. однако у некоторых ссылок нет подменю. я хочу отключить поведение щелчка по умолчанию для ссылок, у которых есть подменю, чтобы я мог открыть анимацию подменю. но на ссылках без подменю мне нужно, чтобы ссылка была кликабельной. javascript, который я должен сделать, это:
$(function(){
if($("#leftNav ul:first > li > a").siblings().size() > 0){
$("#leftNav ul:first > li > a").click(function(e){
e.preventDefault();
});
}
проблема в том, что это отключает поведение щелчка по умолчанию для всех ссылок, а не только для тех, у которых есть одноуровневые ссылки. html для левой навигации выглядит так
<div id="leftNav">
<ul>
<li>
<a href="#">Link 1</a>
<ul>
<li><a href="#">Submenu Link 1</a></li>
<li><a href="#">Submenu Link 2</a></li>
<li><a href="#">Submenu Link 3</a></li>
</ul>
</li>
<li><a href="#">Link 2</a></li>
</ul>
</div>
таким образом, поведение щелчка должно быть удалено на Ссылке 1, потому что у него есть <ul>
в качестве родственного элемента. Link 2 не имеет братьев и сестер, поэтому его следует оставить в покое.