当我设置selectedIndex时,为什么Jasmine会抱怨'尝试分配给readonly属性'?

时间:2016-04-26 13:09:11

标签: javascript jasmine grunt-contrib-jasmine

当我通过grunt-contrib-jasmine运行这个Jasmine规范时,我收到错误 TypeError:尝试分配给readonly属性。指向我设置selectedIndex属性的行:

it('does something', function () {
    setFixtures('<select id="selectId"><option>Text</option></select>');
    var selectDOM = document.getElementById('selectId');
    selectDOM.selectedIndex = 0;
    // stripped some code here...
});

有人知道我在这里缺少什么吗? 我使用 phantomjs v1.9.8 grunt-cli v0.1.13 grunt-contrib-jasmine v0.9.2

1 个答案:

答案 0 :(得分:4)

知道了,我犯了一个错误,但由于现在很难找到我现在会在这里留下我的问题和答案。尽管如此,请完全删除它。

我在传入getElementById()函数的值中输入了一个拼写错误,因此变量selectDOM为null。由于某种原因,这导致错误“ TypeError:尝试分配给只读属性。”。

我很难看到拼写错误,错误信息在这种情况下会产生误导,因此其他人可能会遇到同样的问题。

相关问题