Написать внутреннюю ссылку с AJAX - PullRequest
0 голосов
/ 01 ноября 2011

Я пытаюсь написать некоторые из моих первых jquery-скриптов, но у меня возникли некоторые проблемы ... На моей странице длинный текст с большим количеством внутренних ссылок (<a href="/contents/Foo.htm" class=.internal>Foo</a>).Мне бы хотелось, чтобы, когда вы нажимаете на одну из внутренних ссылок, путь href будет открыт внутри <div id="article">.

var InternalLink = function() {
    $(".internal").click(function(){
        var path =  $(this).attr("href");
        $.ajax({
            url: "path",
            success: function(data) {
                $('#article').html(data);
            }
        });
    });    
};

. Я написал код, показанный ниже, и он работает отлично, но япытаясь обобщить код для каждой ссылки с внутренним классом:

$("#article_01").click(function(){
    $.ajax({
        url: 'contents/article_01.htm',
        success: function(data) {
            $('#article').html(data);
        }
    });
});

1 Ответ

1 голос
/ 01 ноября 2011
<a href="/contents/Foo.htm" class="internal" data-ref="article_01">Foo</a>

JS:

$(".internal").click(function(){
    var path =  this.href;
    var div = $(this).data('ref');
    $.ajax({
        url: path,
        success: function(data) {
            $('#'+div).html(data);
        }
    });
    return false; // so the link does *not* follow through
});    

Так что теперь все, что вам нужно сделать, это изменить data-ref так, чтобы он указывал на div, который вы хотите, чтобы html загружал внутри.

...