Pregunta
Esta podría ser una respuesta simple, pero tengo algunos problemas para escribir este pequeño script de carga ... Creo que tengo un error en alguna parte, puedo solucionarlo, pero la página no se 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 archivos php se encuentran en un enlace como este (tenga en cuenta que estos son solo nombres ficticios y no enlaces reales):
http://www.hostname.com/content/project1.php
http://www.hostname.com/content/project2.php
Solución
ya que definió $ ('. load')
, no necesita hacer find ('a')
para $ (this) . Simplemente use
$(this).attr('id')
Otros consejos
Creo que su línea loadName debería ser esta:
var loadName = $(this).attr("id"); // didn't see a declaration in your code
jquery's find () " no busca los elementos seleccionados, solo sus descendientes. "
Parece que ya tienes " esto " apuntando a su " a " elementos, así que deshazte de find ().