Гораздо проще, если вы просто привязываете событие click к элементу <li>
.
Пузырьки событий гарантируют, что они запускаются и при нажатии <a>
.
Вот пример: http://jsfiddle.net/MB9Fm/
$('li:has( > a)').click(function() {
alert('I was clicked');
return false;
});
РЕДАКТИРОВАТЬ:
Возможно, я неправильно понял намерение для click
обработчик.Если бы все, что вы хотели сделать, это посетить href, я бы согласился с возможными решениями CSS.В противном случае, используя js, сделайте что-то вроде этого:
http://jsfiddle.net/nkGga/
$('li:has( > a)').click(function() {
window.location = $(this).children('a').attr('href');
});
То, как вы вызываете .click()
в своем комментарии, вызовет бесконечный цикл, а я неуверен, что в любом случае это приведет вас к месту назначения.