Eu criei uma lista no meu site. Esta lista é criada por um loop foreach que é construído com informações do meu banco de dados. Cada item é um contêiner com seções diferentes, portanto, esta não é uma lista como 1, 2, 3 ... etc. Estou listando seções repetidas com informações. Em cada seção, há uma subseção. A construção geral é a seguinte:
<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>
Portanto, estou tentando chamar uma função com onclick = "majorpointsexpand ($ (this) .find ('legend'). InnerHTML)"
A div que estou tentando manipular é style = "display: none" por padrão, e desejo usar javascript para torná-la visível ao clicar.
O "$ (this) .find ('legend'). InnerHTML" está tentando passar, neste caso, "Expand" como um argumento na função.
Aqui está o 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";
}
}
Tenho quase 100% de certeza de que meu problema é a sintaxe e não tenho muita noção de como funciona o javascript.
Eu tenho o jQuery vinculado ao documento com:
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
Na <head></head>
seção.
$(this)
. Espero que isto ajude.