Domanda

Questa potrebbe essere una risposta semplice, ma sto riscontrando dei problemi durante la scrittura di questo piccolo script di caricamento ... Penso di avere un bug da qualche parte, posso ottenerlo per cancellare il div, tuttavia la pagina non si sta caricando:

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>

entrambi i file php si trovano in un collegamento in questo modo (nota che questi sono solo nomi fittizi e non collegamenti reali):

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

È stato utile?

Soluzione

poiché hai definito $ ('.load') , non è necessario eseguire find ('a') per $ (this) . Usa $(this).attr('id')

Altri suggerimenti

Penso che la tua linea loadName dovrebbe essere questa:

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

find () & j; jquery non cerca gli elementi selezionati, ma solo i loro discendenti. "

Sembra che tu abbia già " questo " indicando la tua " a " elementi, quindi sbarazzarsi di find ().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top