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