如果不先查询数据库中菜单中的每个链接,就很难知道链接是否指向空页面。这肯定会降低页面加载速度。
不过,您可以尝试以下方法。
在链接中添加一些文本,如“(空)”使用Javascript/jQuery查找父链接检查父链接是否有文本“(空)”如果有,请删除文本“(空)”并设置href
把某事归因于某人#这是我的概念证明:http://jsfiddle.net/epilektric/mBjF3/1/
HTML:
<div class="nav-menu">
<ul>
<li class="page_item"><a href="http://www.example.com/page-1/">Page 1 (empty)</a>
<ul>
<li class="page_item"><a href="http://www.example.com/page-2/">Page 2</a>
</li>
</ul>
</li>
</ul>
</div>
jQuery:
jQuery(document).ready(function($){
$(\'.nav-menu ul .page_item\').each(function() {
var link = $(this).children(\'a\');
var str = link.text();
if (str.toLowerCase().indexOf("(empty)") >= 0) {
var link_text = str.replace(\'(empty)\',\'\');
link.attr(\'href\',\'#\').text(link_text);
}
});
});