2013-03-26 158 views
0

第一if语句不工作,虽然我通过了块参数的值作为physicalActivityBlock为什么我的JavaScript if语句不起作用?

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>'); 
    } 
} 

回答

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); 
+0

yap it工作感谢您的帮助 – user1820858 2013-03-26 10:09:12

+0

@ user1820858:不客气! – 2013-03-26 21:57:35