私は英語とスペイン語のサイトを持っており、サイトの各ページにはその特定のページのスペイン語版につながるリンクがあるため、ユーザーが「home.php」ページにいた場合、それはこのような:
<div id="language">
<ul class="language">
<li class="english"><a href="#" class="active" title="English"></a></li>
<li class="divider"></li>
<li class="spanish"><a href="inicio.php" class="notactive" title="Español"></a></li>
</ul>
</div>
私がやりたいのは、HTML のタグの href とクラスを空白のままにして、ユーザーがいるページに応じて<a>
、クラスと href URL をに割り当てることです。たとえば、それを追加するだけです。 <a>
language div を外部ファイルに追加し、 を使用し<include>
て各ページに添付します。これを達成するために、次のコードを使用しています。
$('ul.menubar a').each(function(){
if(location.href.match('home.php')){
$('ul.language li.english a').addClass('active');
$('ul.language li.english a').append(function() {
$(this).attr('onclick', 'return false;');
});
$('ul.language li.spanish a').addClass('notactive');
$('ul.language a[href!="home.php"]').append(function() {
$(this).attr('href', 'inicio.php');
});
}
}
問題は、サイトの英語版のナビゲーション バーに 4 つのリンク (home.php、services.php、aboutus.php、contact.php) があり、スペイン語版も同様 (対応する URL 名の翻訳付き) であることです。 . そのコードを 8 回 (リンクごとに 1 つ、各言語で 4 つのリンク) 繰り返さなければならないのは過剰であり、実際には HTML にクラスと href url を単に追加するよりも多くのコードを追加することになると思います。JS を使用するポイントは、物事を単純化することです。
だから私は基本的に誰かがこれを行うためのより良い方法を考えることができるかどうかを知りたい. 何かを変更する必要がある場合に、それぞれのページを編集する必要がないようにしています。また、これが JavaScript を使用してやりたいことを達成するための最良の方法であるかどうかを知りたいです。