コミュニティに恩返しするスキルレベルがまだないと感じているので、ここに投稿するのを延期しましたが、これには完全に困惑しています.
ノード ツリー内のすべての id 要素と name 要素の末尾にカウンターを追加する再帰的な JavaScript 関数があります。この機能は FF、Chrome、Safari、IE9 で動作しますが、IE8 では動作しません。
function counterAppend(nodes,counter)
{
var newField = nodes.childNodes;
for (var i=0;i<newField.length;i++)
{
var theName = newField[i].name;
if (theName)
{
newField[i].name = theName + counter;
}
var theId = newField[i].id;
if (theId)
{
newField[i].id = theId + counter;
}
//recursive part
if(newField[i].childNodes.length>0)
{
newField[i] = counterAppend(newField[i],counter);
}
}
return nodes;
}
次の行にエラーが表示されます: newField[i] = counterAppend(newField[i],counter);
デバッグでは、次のように表示されます:JSランタイムエラーで中断 - オブジェクトはこのプロパティまたはメソッドをサポートしていません
IE8 と他のブラウザーの違いは何ですか? また、これを変更してエラーを回避するにはどうすればよいですか?