IE8中的Prototype.js错误消息:'text'为null或不是对象

时间:2013-07-16 10:45:46

标签: javascript internet-explorer-8 prototypejs

我正在使用prototype.js创建一个具有树结构链接的左侧菜单导航 在我的下面的代码.text属性只为IE8浏览器抛出此错误。 如何解决?

prepareFourthMenu: function(level, body) {
        if(!Object.isFunction(this.currentData.fourth[level])) {
            var items = this.currentData.fourth.item(level);
            for (var x=0; x < items.length; x++) {
                var fourthLevelRow = body.appendRow({ id: 'TR_Second_'+level+x });
                str = "";
                if(x == this.getPointer('fourth')){
                    str = 'nOrange';
                    items[x].func();
                } else {
                    str = 'nBlue';
                }

                fourthLevelRow.insert(new Element("TD", { "class" : str, "id" : "TD_Dummy_"+level+x}));
                link = new Element("A", {"href":"javascript:void(0)","class": str, "style":"text-decoration: none;"})
                    .update("&raquo;  " + items[x].text);
                Event.observe(link, 'click', function(e) { menuObject.updateFourthMenu(arguments[0], arguments[1])}.bindAsEventListener(link, level));
                fourthLevelRow.insert(new Element("TD",{id: 'TD_Second_'+level+x, "class": "FourthLevelNav fourthLevelLink"}).update(link));
            }
        }

    },

投掷网页错误窗口 你想调试这个网站吗? 此网页包含可能阻止其显示或正常工作的错误。 行:541 错误:无法获取未定义或空引用的属性“文本”

1 个答案:

答案 0 :(得分:0)

.text是来自jquery的属性,

您可以使用下一个代码在调用方法

之前添加此新方法
 Class.extend(Element, {
  text: function(element) {
    return element.innerHTML.stripTags();
  }
};