javascript onlick mutatás / eltűntetés

Sziasztok!

A comment mutatra klikkelve elő kéne jönnie a
-nek ami meg is történik, viszont újra oda klikkelve nem történik semmi, azt szeretném, hogy eltűnjön.
Elképzelések esetleg?

<html>
<style type="text/css">
   .hidden {
        display: none;
   {
   .visible {
        display: block;
   }
</style>

<submit id="RenderComment_Btn">comment mutat</submit>
<div class="hidden" id="comment">
    <span>commentek</span>
</div>

<script type="text/javascript">
    var commentDiv = document.getElementById('comment');
    var commentBtn = document.getElementById('RenderComment_Btn');
    
    commentBtn.onclick = function() {

	if (document.getElementById('comment').class = 'hidden') {
        commentDiv.setAttribute('class', 'visible');
	} else {
        commentDiv.setAttribute('class', 'hidden');
 }
};
</script>
</html>

Lehet ez így túl is van bonyolítva, de nekem elsőre így logikusnak tűnik. Aztán lehet nem az:)

Köszi előre is.
Üdv
ab

Hozzászólások

Szóval fentebb valamiért nem akarja az igazságot...

Nem elég hozzáadni a hidden class-t, de le kell még venni visible-t is róla (és fordítva, természetesen.)

Szerk: ja látom nem hozzáadsz, hanem fixen beállítod. Akkor még lehet hiba, hogy az if-ben nem egyezőséget vizsgálsz, hanem értéket adsz (= az == helyett)

if (document.getElementById('comment').class = 'hidden') {
commentDiv.setAttribute('class', 'visible');
} else {
commentDiv.setAttribute('class', 'hidden');
}

Itt azt mondod (az if sorában), hogy a class legyen hidden, ha ez sikeres, akkor legyen visible (then ág), ha nem sikerülne valamiért hidden-re állítani a comment osztályát akkor futna le az else ágad.

--
openSUSE - KDE user

Nem kellene minimum "==" az if-ben? Sima "=" nem ertekadas, ami mindig igazat ad vissza?

Sic Transit Gloria Mundi

Jogos a két pont. == kell, így értelmesen fut le és nem vaktában. De még mindig az újra klikkelésnél nem tűnik el, illetve nem jön fel a nem látszik szöveg.
Kicsit kiegészítettem, hogy lássam pontosan a true vagy a false rész fut -e le.
De újra klikknél nem tűnik el...

A developer console a böngésződben van, pl Firefoxon Ctrl+Shift+K hozza elő.
Ha már egyszer beraktál egy elemet egy változóba, akkor használd onnan, rövidebb.
Arról viszont gőzöm sincs, hogy a .class miért problémás, de így megy:

commentBtn.onclick = function() {

console.log(commentDiv.getAttribute('class'));

if ( commentDiv.getAttribute('class') == 'hidden' ) {

commentDiv.setAttribute('class', 'visible');
console.log("true path");

} else {

commentDiv.setAttribute('class', 'hidden');
console.log("false path");
}
}