为什么我的JavaScript if语句不起作用?

时间:2013-03-26 07:43:37

标签: javascript

虽然我将块参数的值传递为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>');
   }
}

1 个答案:

答案 0 :(得分: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);