He creado una lista en mi sitio. Esta lista es creada por un bucle foreach que se construye con información de mi base de datos. Cada elemento es un contenedor con diferentes secciones, por lo que esta no es una lista como 1, 2, 3 ... etc. Estoy enumerando secciones repetidas con información. En cada sección, hay una subsección. La construcción general es la siguiente:
<div>
<fieldset class="majorpoints" onclick="majorpointsexpand($(this).find('legend').innerHTML)">
<legend class="majorpointslegend">Expand</legend>
<div style="display:none" >
<ul>
<li></li>
<li></li>
</ul>
</div>
</div>
Entonces, estoy tratando de llamar a una función con onclick = "majorpointsexpand ($ (this) .find ('legend'). InnerHTML)"
El div que estoy tratando de manipular es style = "display: none" por defecto, y quiero usar javascript para hacerlo visible al hacer clic.
El "$ (this) .find ('legend'). InnerHTML" está intentando pasar, en este caso, "Expandir" como un argumento en la función.
Aquí está el javascript:
function majorpointsexpand(expand)
{
if (expand == "Expand")
{
document.write.$(this).find('div').style = "display:inherit";
document.write.$(this).find('legend').innerHTML = "Collapse";
}
else
{
document.write.$(this).find('div').style = "display:none";
document.write.$(this).find('legend').innerHTML = "Expand";
}
}
Estoy casi 100% seguro de que mi problema es la sintaxis, y no tengo mucha idea de cómo funciona JavaScript.
Tengo jQuery vinculado al documento con:
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
En la <head></head>sección.