0

ifブロックパラメータの値を次のように渡したにもかかわらず、最初のステートメントが機能していませんphysicalActivityBlock

function obj(select,block,idName) {
    var a=document.getElementById(select).value;
    var b=document.getElementById(block);
    var i=0;
    b.innerHTML = '';

   if(block=='physicalActivityBlock'){
       b.appendChild('<p>hello</p>');
   }
}
4

1 に答える 1

3

状態はif良好に見えますが、ifブロック内のコードが間違っています。appendChild文字列を受け入れません。DOMノードを受け入れます。

とにかく使用しているinnerHTMLので、これを行うことができます:

if (block == 'physicalActivityBlock') {
    b.innerHTML = '<p>hello</p>';
}

おそらくロジックを少し変更するので、innerHTML一度だけ設定します。

function obj(select,block,idName) {
    var a=document.getElementById(select).value;
    var b=document.getElementById(block);
    var i=0;

   b.innerHTML = block=='physicalActivityBlock' ? '<p>hello</p>' : '';
}

本当に使用したい場合はappendChild、要素を作成する必要があります。

var p = document.createElement('p');
p.innerHTML = 'hello';
b.appendChild(p);
于 2013-03-26T07:44:39.560 に答える