0

ページにいくつかの要素があります。何かのようなもの:

<div id="el1"><div id="el2"><span id="el3">1</span><span id="el4">2</span></div><span id="el5">3</span></div>

IDを使用して、それらのいずれかを無効/有効にする必要があります。

<input type="radio" name="do" onclick="disable(document.getElementById('el4'));">        
<input type="radio" name="do" onclick="enable(document.getElementById('el4'));">

要素を実際に無効にするには、disable() および enable() 関数に何を含める必要がありますか?

「無効にする」とは、ユーザーから見えないようにし、「id」でアクセスできなくし、「enable()」関数で復元できるようにすることを意味します。

要素のオン/オフを切り替えることは可能ですか? 完全に、つまり。

4

2 に答える 2

0

あなたは使用することができます

document.getElementById('el4').style.display='none'; // hide
document.getElementById('el4').style.display=''; // show

次のような関数を定義できます。

function hide(element){
   element.style.display='none';
}
function show(element){
   element.style.display='';
}

有効化と無効化という言葉には別の意味があるため、使用しないことを強くお勧めします (無効化されたウィジェットは、表示はできますが、変更はできません)。

より良い解決策は、css クラスを定義することです

.hidden {
   display: none;
}

js のクラスを変更します。

document.getElementById('el4').classname='hidden'; // hide

要素を完全に削除したい場合は、removeChildを使用できます。

var node = document.getElementById('el4');
node.parentNode.removeChild(node);

しかし、それはほとんど役に立ちません。一般的に行われているように非表示にすることを好みます。

于 2012-11-19T19:00:38.157 に答える
0
function  addEl4(){
   var elem = document.getElementById('el2'); 
   var newElem = document.createElement('div');
   newElem.setAttribute('id', 'el4');
   newElem.innerHTML = 2;
   elem.appendChild(newElem);
};

function  disable(elem){
   var container = document.getElementById('el2'); 
   container.removeChild(elem);
};

ページから要素を完全に削除するという観点から話している場合。次に、メソッドを使用できます.removeChild()..次に、話しているdivに追加する必要があります..

フィドルをチェック

于 2012-11-19T19:02:55.753 に答える