我一直得到“无法获得未定义或空引用的属性'长度'”
I keep getting 'unable to get property 'length' of undefined or null reference'
我正在测试MS CRM中较大代码段的独立片段的功能,我想知道为什么我总是收到这一小段代码的上述错误:
function testThis()
{
var optionset = document.getElementById("new_makeyear");
console.log("this is supposed to be something " + optionset.Options.length);
}
"new_makeyear"是一个选项集。日志语句只是为了让我可以通过控制台查看行为。怎么了?
谢谢
正如Henk在他的评论中提到的,你不应该访问DOM。 您应该使用 API 检查选项集的选项,如下所示:
function testThis() {
var makeYear = Xrm.Page.getAttribute("new_makeyear");
if (!makeYear) { return; }
console.log(makeYear.getOptions().length + " options currently available");
}
如果您设法访问生成的 DOM(例如通过 onchange 事件),则 optiongroup 可用作 if(this.options[this.selectedIndex].parentNode.tagName =='optgroup')
var og = this.options[this.selectedIndex].parentNode.label;
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 如何正确引用传递到淘汰中的当前元素的属性.JS
- 如何使用object.assign()从其他对象引用基本对象属性
- 引用Ractive.js中的子属性
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- 使用闭包创建原型中引用的私有属性
- SCRIPT5007:无法获取属性'长度'的未定义引用或null引用
- 无法获取属性'setActionableButtonState'的未定义引用或null引用
- 传递引用 jQuery 后无法访问元素属性
- 使用连字符引用对象的属性名称
- 使用 Javascript 编写引用属性数据的 HTML
- 引用属性而不是 getter 和 setter
- AngularJS类中的引用属性(ControllerAs语法)
- 从子对象中的父对象引用属性
- 创建对象时引用属性
- 可以从另一个对象中引用属性的名称吗?
- 高度 CZML 的引用属性
- 将变量传递给原型或在函数中引用属性是更好的做法吗?
- 在实例化期间引用属性