Pergunta

Esta poderia ser uma resposta simples, mas eu estou tendo alguns problemas escrevendo este script de carregamento pouco ... Eu acho que tenho uma em algum lugar bug, eu posso obtê-lo para limpar o div, no entanto, a página não é de carga:

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>

ambos os arquivos PHP estão localizados em um link assim (note que estes são apenas nomes fictícios e links não reais):

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

Foi útil?

Solução

desde que você definiu $('.load'), você não precisa fazer find('a') para $(this). uso apenas $(this).attr('id')

Outras dicas

Eu acho que a sua linha loadName deve ser esta:

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

achado do jQuery () "não busca os elementos selecionados, apenas os seus descendentes."

Parece que você já tem "isto" apontando para seus elementos "a", assim se livrar do find ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top