JQuery извлечь URL-адрес и поместить в.load()

Я пытаюсь загрузить внешний php в div по клику, отлично работает так:

$('.tab1').click(function(){
    $('#place').hide(500, function(){
        $('#place').load('example1.inc', function(){
        $('#place').show(500);
        });
    });
});
$('.tab2').click(function(){
    $('#place').hide(500, function(){
        $('#place').load('example2.inc', function(){
        $('#place').show(500);
        });
    });
});

проблема очевидна, поэтому я пытался сузить ее безуспешно. Я решил разместить ссылки на вкладках (больше не используя уникальные идентификаторы для вкладок), и извлечь ссылку для размещения в.load() -

$('.tab').click(function() {
    var location = $('a', this).attr('href');
    $('#place').hide(500, function() {
        $('#place').load(location, function() {
        $('#place').show(500);
        });
    });
});

это очень далеко - и load принимает только URL в качестве первого аргумента, так что...

У меня вопрос, как я могу поместить URL-адрес соответствующей вкладки в метод загрузки?

Кстати, я довольно новичок в этом - это первый способ, которым у меня это плохо? Я имею в виду, что когда у меня есть что-то вроде 5 вкладок, это довольно неприятно, я делаю это неправильно. Благодарю.

1 ответ

Решение

второй просто загружает ссылку как страницу, а не в #place div

Это потому, что вы не предотвратили событие нажатия на a используя preventDefault(), Попробуй это:

$('.tab a').click(function(e) {
    e.preventDefault();
    var location = $(this).attr('href'), $place = $('#place');

    $place.hide(500, function() {
        $place.load(location, function() {
            $place.show(500);
        });
    });
});
Другие вопросы по тегам