我已经尝试了几种方法,但就是无法完成。
我正在设计 ul/li 的菜单。我想这样做,如果 a<li>
具有 href 属性,jQuery 会为其创建一个事件以重定向到该属性存储的站点。但是当没有href时,什么都不会发生。问题是当我单击一些 li 时,同一分支中的那些也得到了事件
$("#menu-h > li li").each(function() {
if($(this).attr("href")) {
$(this).click(function() {
window.location = $(this).attr("href");
return false;
});
}
});
似乎它each()
不会遍历所有 'li's after #menu-h > li
,而只会遍历直接后代(子代),所以当我在 li 内部单击更多时,就像#menu-h > li > li
, $(this) 值存储它的父级的 DOM 元素。是错误选择器的问题,还是我无法遍历所有后代,只能遍历直接后代?