gpt4 book ai didi

javascript - this.href 不返回 href

转载 作者:行者123 更新时间:2023-11-29 10:46:53 27 4
gpt4 key购买 nike

我不确定是不是因为我使用的是 Wordpress 但 this.href 没有返回包含它们的项目的 href(例如在“联系人”上它返回 http://www.domain.net/undefined反对 http://www.domain.net/contact )。如果我删除脚本,导航会很好地加载 href。

这是JS

$(document).ready(function() {
$('#page-wrap').delay(500).fadeIn(1000);

$(".menu-item").click(function(event){
event.preventDefault();
linkLocation = this.href;
$("#page-wrap").fadeOut(1000, redirectPage);
});

function redirectPage() {
window.location = linkLocation;
}
});

这是 php wordpress 文件

<div id="nav_wrap">
<div id="nav"><?php wp_nav_menu( array( 'theme_location' => 'header-menu',) ); ?></div>
</div>

这是 wordpress 以 html 格式返回的内容

<div id="nav_wrap">
<div id="nav"><div class="menu-main-container"><ul id="menu-main" class="menu"><li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13"><a href="http://www.domain.net">Home</a></li>
<li id="menu-item-28" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28"><a>Company</a>
<ul class="sub-menu">
<li id="menu-item-32" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-32"><a href="http://www.domain.net/jobs/">Careers</a></li>
</ul>
</li>
<li id="menu-item-29" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-29"><a>Portfolio</a>
<ul class="sub-menu">
<li id="menu-item-65" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-65"><a href="http://www.domain.net/breweries/">Breweries</a></li>
</ul>
</li>
<li id="menu-item-30" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-30"><a>Retailer Resources</a></li>
<li id="menu-item-31" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-31"><a>Community</a></li>
<li id="menu-item-15" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-15"><a href="http://www.domain.net/contact/">Contact</a></li>
</ul></div></div>
</div>

最佳答案

这是因为您正在 .menu-item 上运行选择器这是 <li> .它没有 href 属性。

您需要选择 <a>在你的 <li> 中标记标签。应该这样做:

$(".menu-item a").click(function(event){
event.preventDefault();
linkLocation = this.href;
$("#page-wrap").fadeOut(1000, redirectPage);
});

与选择 <li> 的其他答案相比,这样做的好处然后是 child <a>是这只会在用户单击实际链接时运行。其他人将在 <li> 中的任何位置运行。被点击,这取决于您的 CSS,可能在实际链接空间之外。

jsFiddle with working example

关于javascript - this.href 不返回 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17958468/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com