为什么这个功能不起作用?它正在回归,"未定义"!

时间:2014-04-09 15:39:46

标签: javascript

的Javascript

function grabById(id, object, newValue) {
    document.getElementById(id).object = newValue;
}

HTML

<p id="p">Hi!</p>

控制台

我输入控制台:

grabById("p","innerHTML","New value for innerHTML")

结果

控制台用undefined

向我吐口水

没有任何反应!

1 个答案:

答案 0 :(得分:6)

您必须使用括号表示法

function grabById(id, object, newValue) {
    document.getElementById(id)[object] = newValue;
}

FIDDLE

并且它改变了一个元素的html,它没有返回任何东西,我看不出它应该是什么原因,但根据名称可能它应该返回元素?

function grabById(id, object, newValue) {
    var elem = document.getElementById(id)
    elem[object] = newValue;
    return elem;
}