当用户单击菜单链接时,我希望能够播放 jQuery 动画。
在我的脚本中,我阻止了链接的默认行为,将锚标记的 href 属性的值保存在一个变量中,播放动画,然后将窗口重定向到与保存的 href 值对应的 URL:
<script>
jQuery(document).ready(function($) {
$('.main-navigation a').click(function(event) {
event.preventDefault();
var href = this.href;
$('#main').slideUp(500,
function() {
window.location = href;
});
});
});
</script>
问题是,我的导航菜单中的一些锚标签没有 href 属性,因为它们的唯一功能是单击时打开子菜单。当我单击这些菜单项时,会播放动画,然后重新加载相同的页面。
我想从脚本的行为中排除没有 href 的锚标记。
我的解决方案是只为那些实际具有 href 属性的锚标记保存 href。除了,我不知道该怎么做。
所以,我的问题是:我应该如何用 jQuery 来表达这个?
if (anchor tag has href attribute) {
var href = this.href;
}
或者也许有更好的解决方案?