1

私は2つの要素を持っています、最初の要素は画面に印刷するデフォルトです

<input id=post-category value="first">

もう1つはこれです。これは、onclickが行われた場合にのみ表示され、もちろん最初の要素が表示される必要があります

<select id=cat-sel ><option>second</option></select>

更新私はこのコードを試しました

el = document.getElementById("post-category");
el.style.visibility = "hidden";

el2 = document.getElementById("cat-sel");
el2.style.visibility = "visible";

ただし、ここでの問題は、2番目の要素がインデントされていることです。それは最初の要素のためのスペースを逃れるからです。私はそれが好きではありません、私は彼らが同じ位置にいることを望みました

4

2 に答える 2

3

への変更

el = document.getElementById("post-category");
el.style.display = "none";

el2 = document.getElementById("cat-sel");
el2.style.display = "block";

表示/非表示は要素がページ上で占めるスペースを削除しないため

最初に非表示にする必要があるフィールドにdisplay:noneを設定する必要があります

チェックボックスが

window.onload=function() {
  document.getElementById("categoryCheckbox").onclick=function() {
    var chk = this.checked;
    document.getElementById("post-category").style.display = chk?"none":"block";
    document.getElementById("cat-sel").style.display = chk?"block":"none";
  }
}

PS:ちなみに、表示/非表示がリロードを乗り切るには、もう少しコードが必要です...

于 2012-07-31T05:25:15.593 に答える
0

IDのCSSを定義し、位置を修正します。

于 2012-07-31T05:25:02.893 に答える