0

jQuery を使用して現在のページにコンテンツを読み込むための、かなり基本的な動的 AJAX 関数を作成しました。

私は非常に一般的なページでテストし、問題なく動作しましたが、このコードを実際の本番サイトに配置するとすぐに、動作しませんでした.

これを機能させるためにあらゆる方法を試したので、他に何をすべきかわかりません。運用サイトで間違ったセレクターを使用したような気がします。それはおそらく自信の欠如(初心者)によるものですが、実際にはjQueryがまったく機能していないと思います。

コードは次のとおりです。

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script> $(document).ready(function(){
        var a = $('article.announce');
        var s = $('#info li a');
        // You only need to change the above two pieces of code.    

            s.click(function(){
                var url = $(this).html(),
                    clicked = $(this).attr('data-id');



                    $(s+'[data-id='+clicked+']').click(function(){
                        a.load(url+'.html')


                    }); 
}); 
});</script>

ターゲットにしようとしている HTML は次のとおりです。

    <aside id="info" class="clearfix">
<h1>About Us &gt;</h1>
<h2>Other Stuff:</h2>
<ul>
    <li><a href="#" data-id="1">About</a></li>
    <li><a href="#" data-id="2">Contact</a></li>
    <li><a href="#" data-id="3">Examples</a></li>

</ul>



</aside>
<article class="announce">
<p>Text to be replaced will be here!</p>




</article>

うまくいけば、ここで何が問題なのかを確認するのに十分な情報を提供できました. ありがとう。

4

4 に答える 4

0

HTML マークアップを変更します。

<aside id="info" class="clearfix">
    <h1>About Us &gt;</h1>
    <h2>Other Stuff:</h2>
    <ul>
        <li><a href="about.html">About</a></li>
        <li><a href="contact.html">Contact</a></li>
        <li><a href="example.html">Examples</a></li>
    </ul>
</aside>

<article class="announce">
    <p>Text to be replaced will be here!</p>
</article>

次に、これを行います:

$(function() {
    var a = $('.announce');
    $('#info li a').on('click', function(e) {
        e.preventDefault();
        a.load($(this).attr('href'));
    });
});
于 2012-06-02T15:38:52.930 に答える
0
$(s+'[data-id='+clicked+']').click(function(){ 
                        a.load(url+'.html') 
                     }); 

s はここではオブジェクトですが、文字列である必要があり、s.click 関数の外側に配置する必要があります

于 2012-06-02T14:49:07.747 に答える
0

click try 内で click を使用しています:

$(document).ready(function(){
   var a = $('article.announce');
   var s = $('#info li a');
   s.click(function(){
        var url = $(this).html();
        a.load(url+'.html')
      }); 
});

HTMLファイルの最初の文字が大文字であることを確認してください

于 2012-06-02T14:49:36.700 に答える
-1

http://jsfiddle.net/83V4K/

必要なのは1クリックのイベントだけです。

var a = $('article.announce');
var s = $('#info li a');

s.click(function(){
    var url = $(this).
    a.load(url+'.html');
}); ​
于 2012-06-02T14:56:11.533 に答える