作業中のプラットフォームの1つにこの小さな相互作用を作成しました- http://jsfiddle.net/S79qp/426/
IE8以外のすべてのブラウザーで正常に動作します。コンソールを実行すると、このセクションに問題があるようです...
Array.prototype.forEach.call(l, function(item) {
a.Push(jQuery(item).text());
});
必要なバージョンと互換性を持たせるために、誰かがIE8に優しい代替案を見せてもらえますか?
使用 - jQuery.each
メソッド :
jQuery.each(l, function(index, item){
a.Push(jQuery(item).text());
});
ターゲット配列が最初から空の場合、 jQuery.map
method この代わりに:
var a = jQuery.map(l, function(item){
return jQuery(item).text();
});
IE8のforEach()
のみが必要な場合:
if (typeof Array.prototype.forEach != 'function') {
Array.prototype.forEach = function(callback){
for (var i = 0; i < this.length; i++){
callback.apply(this, [this[i], i, this]);
}
};
}
これは 予想どおり が組み込まれていないブラウザで動作します。
forEachは、IE 8ではサポートされていません。代わりに、通常のループを使用できます。
for ( var i = 0; i < myArray.length; i++ ) {
// code
}
実際、forEachメソッドはIE9からのみ利用可能です。古いブラウザにサポートを提供するには、jQueryバージョン「each()」を使用する必要があります。
私はIE8で同じ問題を抱えていましたが、ここでそれを解決しました!
まず、ループしてJSON配列オブジェクトからデータを取得したかった。 Firex、chromeおよび最新のIEでうまく機能しているが、IE8では機能していないオリジナルを見てください。
data.children.forEach(function(item) {
//javascript: console.log(item);
console.log(data.children);
attachRel(item, '1' + (data.children.length > 1 ? 1 : 0));
});
これは私が長い一日の闘争の後に開発した解決策です
$.each(data.children, function () {
attachRel(this, '1' + (data.children.length > 1 ? 1 : 0));
});