0

我有这个导航菜单,但没有链接(如第一个链接)不起作用。任何想法这可能是什么?

<div id="nav">
<li><a href="/admin/index.php">Dashboard</a></li>
<li><a>Contacts</a>
    <ul>
    <li><strong>Companies</strong></li>
    <li><a href="/admin/index.php?id=customer/addcustomer">Add Company</a></li>
    <li><a href="/admin/index.php?id=customer/viewcustomer">View Company</a></li>
    <li><strong>Contacts</strong></li>
    <li><a href="/admin/index.php?id=contacts/addcontact">Add Contact</a></li>
    <li><a href="/admin/index.php?id=contacts/viewcontact">View Contact</a></li>
    <li><strong>Resellers</strong></li>
    <li><a href="/admin/index.php?id=reseller/addreseller">Add Reseller</a></li>
    <li><a href="/admin/index.php?id=reseller/viewreseller">View Reseller</a></li>
    <li><strong>Salesman</strong></li>
    <li><a href="/admin/index.php?id=salesman/addsalesman">Add Salesman</a></li>
    <li><a href="/admin/index.php?id=salesman/viewsalesman">View Salesman</a></li>
    </ul>
</li>
<li><a>Customer Info</a>
    <ul>
    <li><a href="/admin/index.php?id=salesman/addsalesman">Add Salesman</a></li>
    <li><a href="/admin/index.php?id=salesman/viewsalesman">View Salesman</a></li>
    </ul>
</li>
</div>

这是一个小提琴:http: //jsfiddle.net/ZGvVW/

4

2 回答 2

1

e.preventDefault 正在取消导航。

http://jsfiddle.net/ZGvVW/2/

一种可能的解决方案是检查 href 属性。

$(document).ready(function () {
  $('#nav > li > a').click(function(e){
     if ($(this).attr('class') != 'active'){
         if ($(this).attr("href") == null) {
           $('#nav li ul').slideUp();
           $(this).next().slideToggle();
           $('#nav li a').removeClass('active');
           $(this).addClass('active');
           e.preventDefault();
         }
     }
  });
});
于 2013-06-17T22:50:54.493 回答
0

据我了解,标签必须有一个与之关联的目的地,即 href https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a?redirectlocale=en-US&redirectslug=HTML%2FElement% 2Fa#attr-href

于 2013-06-17T23:02:21.507 回答