string.split问题

时间:2012-09-02 00:21:02

标签: javascript string internet-explorer-9

我第一次使用.split()调用函数时,它会失败,但此后它会起作用。知道IE9为何如此?有没有人有这个错误/复杂的经验和修复它?如果不是这样,是否可以替代.split()在IE8和9中无缝运行?非常感谢。

编辑:

第一次调用函数时显示的错误消息是:

ERROR: SCRIPT5007: Unable to get value of the property 'split': object is null or undefined.

EDIT2,带来错误的代码:

function parseArgs() {
...
    var urlParams = $(allE[i]).css('list-style-image').split('?')[1].split('_');
...
}

2 个答案:

答案 0 :(得分:1)

要避免错误,请测试字符串对象是否为空。 Null没有成员:

function parseArgs() {
...
    var urlParams = [];
    var listStyleImage = $(allE[i]).css('list-style-image');
    if(listStyleImage) { // <-- might be null
       var items = listStyleImage.split('?');
       if(items.length>0) urlParams = items[1].split('_');
    }
...
}

答案 1 :(得分:-1)

您尝试split的事情是一个jQuery对象。也许您必须首先尝试在其上调用.html().text()才能调用拆分功能。

更新

好的,我的坏。 .css()不返回jQuery对象。有时它返回css属性的值。它可能是一个字符串或不是。但无论如何,.split()只能在字符串对象上调用。刚刚浏览了文档:http://api.jquery.com/css/