少し複雑で、これをうまく機能させる正しい方法を見つけることができません。いくつかの例を使って説明してください。生成されたナビゲーションは次のようになります。
<ul class='cat-nav'>
<li class="c1">
<h1>
<a href="catalog.php?catid=8">main category 1</a>
</h1>
</li>
<li class="c2">
<h1>
<a href="catalog.php?catid=9">main category 2</a>
</h1>
<ul class='subcat-nav'>
<li>
<h1>
<a href="catalog.php?catid=7">main cat 2 - 1st subcat</a>
</h1>
</li>
<li>
<h1>
<a href="catalog.php?catid=19">main cat 2 - 2nd subcat</a>
</h1>
</li>
</ul>
</li>
</ul>
今私がやろうとしているのは、サブ猫がいるリーにたどり着くことです
(内部に別のulがあることを意味します)、そのリンクを無効にして、メインの猫が実際のリンクではなくタイトルのみを再生するようにします。
私はこれまでのところ成功していない次のことを試しました
$(document).ready(function() {
$('ul.cat-nav li').each(function() {
if($(this).children('ul').length == 1) {
$('a').replaceWith(function() { return $(this).contents(); });
}
});
});
このスクリプトは、ul.cat-nav のすべてのリンクを無効にしますが、これは私にとっては間違っています...