:
document.getElementsByTagName("ol")[0].style.padding = '0';
スクリプトの上には、あなただけのドキュメント内の1つの<ol>
を持っていると仮定している、または少なくとも第1は、編集したいものです。あなたがあなたのアプローチは、しかし少しビット間違っている、あなたは<ol>
のlistStyleを変更する必要があります
と
document.getElementsByTagName("ol")[0].style.paddingLeft = '0px';
document.getElementsByTagName("ol")[0].style.paddingLeft = '20px';
切り替えるなければならないでしょう
EDIT
個々のタグではなく、<li>
タグです。
document.getElementsByTagName("ol")[0].style.listStyle = 'none';
と
document.getElementsByTagName("ol")[0].style.listStyle = 'decimal';
EDIT2おそらく、これを試してみます。あなたも私にそれをリンクすることができれば、私はクロームとファイアフォックスでそれをテストすることができます。たぶん私はあなたの問題..
function toggle_visibility() {
var e = document.getElementsByTagName("ol")[0];
if(e.style.listStyle == 'none') {
e.style.listStyle = 'decimal';
e.style.paddingLeft = '20px';
} else {
e.style.listStyle = 'none';
e.style.paddingLeft = '0px';
}
}
}
リンク
<a onclick="toggle_visibility();">toggle</a>
EDIT3
ああが届かない、私は問題を発見:)
if(document.getElementsByTagName("ol")[0].style.listStyle.substr(0,4) == 'none')
ときのでlistStyleを 'none'に設定します。実際には 'none none'に設定されます。 IE。したがって、.substr(0,4)を使用して最初の4文字をどれとも比較しない場合は、うまくいくはずです。
魅力的に機能した素晴らしいリック!私がまだ持っている1つの問題は、Firefoxです。クロームではうまくいきますが、Firefoxではその行を隠すことができますが、もう一度クリックすると元に戻りません。何か案は? –
@Boon上記の編集を参照してください:) –
最後の例は、実際には左のスペースを隠すわけではありませんが、PaddingLeftは0にします。しかし、それはまだFirefoxとIEで不器用ではない、クロムは正常に動作します。 –