Вопрос

Это мог бы быть простой ответ, но у меня возникли некоторые проблемы при написании этого небольшого скрипта загрузки… Я думаю, что у меня где-то ошибка, я могу заставить его очистить div, однако страница не загружается:

Jquery - Jquery - запрос:

$(document).ready(function() {
//Load content
    $(".load").click(function(){
            $("#content").empty();
            loadName = $(this).find("a").attr("id");
            $("#content").load("/content/" + loadName + ".php");
            });
});

HTML:

<div id="select">    
    <div id="menu">
    <ul>
    <li><a class="load" href="javascript:void(0)" id="project1">Project 1</a></li>
    <li><a class="load" href="javascript:void(0)" id="project2">Project 2</a></li>
    </ul>
    </div>
</div>
<div id="content"></div>

оба php-файла расположены по ссылке, подобной so (обратите внимание, что это просто фиктивные имена, а не реальные ссылки):

http://www.hostname.com/content/project1.php
http://www.hostname.com/content/project2.php

Это было полезно?

Решение

поскольку вы определили $('.load'), вам не нужно делать find('a') для $(this).Просто используй $(this).attr('id')

Другие советы

Я думаю, что ваша строка loadName должна быть такой:

var loadName = $(this).attr("id");  // didn't see a declaration in your code

функция find() jquery "выполняет поиск не по выбранным элементам, а только по их потомкам".

Похоже, у вас уже есть "this", указывающее на ваши элементы "a", так что избавьтесь от find().

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top