-3
私は2つの異なるスクリプトを用意しています。両方のスクリプトは単独で動作しますが、両方のスクリプトをページに追加した場合は動作しません。クラスを追加しても私のAjaxで動作しません
私はAJAXを使用してページを切り替えますが、クリックしたリンクを強調表示して「アクティブ」ページを表示できるようにします。
マイHTML:
<nav>
<ul id="navUl">
<li class="active"><a href="#">test1</a></li>
<li ><a href="#">test2</a></li>
</ul>
</nav>
<div id="result">
<div id="content">
<p>random content</p>
</div>
</div>
私のAJAX/jQueryの
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
(function($){
$('nav a').click(function(){
var href = $(this).attr('href')+' #content';
$('#result').load(href);
return false;
});
})(jQuery);
</script>
これは完璧に動作しますが、私が選択したページを強調スクリプトにこれを追加するとき、その後、私のAJAXは動作しません。もう
$(function() {
$('#navUl li').on('click', function() {
$(this).parent().find('li.active').removeClass('active');
$(this).addClass('active');
});
});
あなたのコードには、 'span'sはありません。 $(function(){})の中のコード。本体が準備されているときに実行されます。つまり、要素が見つからない場合(この場合は '#navUl span'、コードは呼び出されません)エラーがあるかどうかコンソールをチェックしてください。 – Lemmmy
おそらくあなたのコードでエラーが発生している可能性があります。私はあなたがあなたのAJAXでそれの前に投稿した2番目のJSブロックを実行すると仮定しています。 – Lemmmy
@Lemmmy oops、私は謝罪しています。なぜなら、同じタグが両方の関数で使用されないため、liの周りにスパンをラップしようとしたからです。 –