-1

初めて .split() を使用して関数を呼び出すと失敗しますが、その後は機能します。なぜIE9でそうなのか、何か考えはありますか? このバグ/複雑さとそれを修正した経験のある人はいますか? そうでない場合、IE8 と 9 でシームレスに動作する .split() の代わりになるものはありますか? どうもありがとう。

編集:

関数が初めて呼び出されたときに表示されるエラー メッセージは次のとおりです。

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('_');
...
}
4

2 に答える 2

1

エラーを回避するには、文字列オブジェクトが null でないかどうかをテストします。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('_');
    }
...
}
于 2012-09-02T00:27:13.027 に答える
-1

あなたがしようとしてsplitいるのはjQueryオブジェクトです。おそらく、最初に a.html()または aを呼び出して、.text()分割関数を呼び出せるようにする必要があります。

アップデート:

わかりました、悪いです。.css()jQuery オブジェクトを返しません。css プロパティの値を返すこともあります。文字列である場合とそうでない場合があります。とにかく、.split()文字列オブジェクトでのみ呼び出すことができます。ドキュメントを確認しました:http://api.jquery.com/css/

于 2012-09-02T00:31:28.273 に答える