我有这个wordpress博客,有很多页面都有子页面,可以在悬停时下拉....事情是,我不希望你悬停的页面链接到任何东西,除非他们没有任何带有许多锚点的内部所以只是子页面的href与“#”不同 所以基本上我用一些简单的javascript来破解我的方式。
jQuery(document).ready(function(){
jQuery("#menus li > a").attr("href","#");
});
这是选择每一个...而我不想要...我只是想要主页的锚点,而不是子页面...继承人html所以也许你可以想出一个更好的方法来选择它。 / p>
首先解释
结构是 一个有许多李的ul,里面有一个锚 如果li里面还有一个ul那么那些是将在悬停时出现的子页面。 因此初始锚应该有href =“#” 如果li里面没有ul那么li a应该保留它的href。
<ul id="menus">
<li>
<a href="somelink">Main Page</a> //href should be changed to #
<ul>
<li>
<a href="somelink2/">Subpage1</a>
</li>
<li>
<a href="somelink3">Subpage2</a>
</li>
</ul>
</li>
<li>
<a href="somelink">MainPage-with-no-subpages</a> //href should not be changed
</li>
<li>
<a href="somelink4">MainPage</a> //href should be changed to #
<ul>
<li>
<a href="somelink5">Subpage</a>
</li>
<li>
<a href="somelink6">Subpage</a>
</li>
</ul>
</li>
</ul>
答案 0 :(得分:2)
尝试
jQuery(document).ready(function(){
jQuery("#menus li > ul").siblings('a').attr("href","#");
});
答案 1 :(得分:0)
这应该做你想要的:
jQuery(document).ready(function(){
jQuery("#menus li:has(ul) > a").attr("href","#");
}