こんにちは、JQuery の .append .prepend メソッドの使用に問題があります。これらのメソッドはよく知っていますが、そのようなコードを試したときに奇妙な不具合が発生します。
$("#nashgraphics-menu ul li a.toplevel-a")
.prepend('<span class="main-navigation-button-left"></span><span class="main-navigation-button-body"><h1>');
$("#nashgraphics-menu ul li a.toplevel-a")
.append('</h1></span><span class="main-navigation-dropdown-button-right"></span>');
適切に機能するはずですが、残念ながら機能しませんでした。なぜだろうと思っています
注:「リンク」テキストについて話しているのですが、これらのタグはそのテキストをラップする必要がありますが、そうではありません
コードはこれを出力する必要があります:
<span class="main-navigation-button-left"></span>
<span class="main-navigation-button-body"><h1>Link</h1></span>
<span class="main-navigation-dropdown-button-right"></span>
しかし、それは次のようになります:
<span class="main-navigation-button-left"></span>
<span class="main-navigation-button-body"><h1></h1></span>Link<span class="main-navigation-dropdown-button-right"></span>
そのテキスト「リンク」はタグ内にある必要があります
ちなみに、Wordpressでこれを使用しているコード全体は次のとおりです
;(function($){
$.fn.nashgraphics_menu = function(){
$("#nashgraphics-menu ul li").each(function(index){
$('#nashgraphics-menu ul li').addClass('toplevel-nochild');
$('#nashgraphics-menu ul li ul li').removeClass('toplevel-nochild').addClass('nochild');
$('#nashgraphics-menu ul li:has(ul)').removeClass('toplevel-nochild nochild').addClass('toplevel');
$('#nashgraphics-menu ul li ul li:has(ul)').removeClass('toplevel nochild').addClass('haschild');
$('#nashgraphics-menu ul li a').addClass('toplevel-nochild-a');
$('#nashgraphics-menu ul li ul li a').removeClass('toplevel-nochild-a').addClass('nochild-a');
$('#nashgraphics-menu ul li:has(ul) > a').removeClass('toplevel-nochild-a nochild-a').addClass('toplevel-a');
$('#nashgraphics-menu ul li ul li:has(ul) > a').removeClass('toplevel-a nochild-a').addClass('haschild-a');
});
$("#nashgraphics-menu ul li a.toplevel-a").prepend('<span class="main-navigation-button-left"></span><span class="main-navigation-button-body"><h1>');
$("#nashgraphics-menu ul li a.toplevel-a").append('</h1></span><span class="main-navigation-dropdown-button-right"></span>');
$('#nashgraphics-menu ul li a.haschild-a').append(' »');
};
})(jQuery);