私はJavascriptにかなり慣れていないので、厄介な問題に遭遇しました。
リストを含むリストがあります。クリック時にリストを表示/非表示に設定するスクリプトがあります。ただし、一度押すと、リンクにクラスを切り替えたり追加したりしたくありません。
私のリストは次のようになります
<ul>
<li><a href="#" onclick="toggle('item1');">Click something</a>
<ul id="item1" style="display: none;">
<li>Something ...</li>
<li>Something something</li>
</ul></li>
<li><a href="#" onclick="toggle('item2');">Click something else</a>
<ul id="item2" style="display: none;">
<li>Something more...</li>
<li>Something something less?</li>
</ul></li>
</ul>
私のスクリプトは次のようになります。
<script type="text/javascript">
function toggle(id) {
var v = document.getElementById(id);
if (v.style.display == '') {
v.style.display = 'none';
v.removeClass("selected");
} else {
v.style.display = '';
v.addClass("selected");
}
}
</script>
リストは想定どおりに表示および非表示になりますが、クラスは追加も削除もされません。
CSSは次のようなものです:
a:link {
color: #000000;
text-decoration: none;
}
a:hover, a.selected {
color: #005b97;
text-decoration: none;
padding-left: 2px;
}
前もって感謝します
よろしくベンジャミン