2011-11-11 18 views
0

私はリンクの順序のないリストを含むページがあります。私はそのリストをアルファベット順にソートしようとしています。私のjavascriptはFirefoxとChromeで動作しますが、IEでは動作しません。 IEは元のリンクテキストを未定義で上書きします。IEでJavascript配列の項目は定義されていません

私のスクリプトは、最初にulタグを見つけてから、すべてのリンクをTagNameで取得し、それらを配列lisに入れます。次に、このループが来て、リンクテキストを取得して2番目の配列valに入れてソートすることができます。私はこれが問題の起こっている場所だと思います。用

(VAR I = 0、L = lis.length; I <リットル; iは++)

vals.push(LIS [I]の.text)。

私の知る限り、IEは.textが存在するとは限りません。私はそれを.text()に変更することを提案した別の投稿で何かを見ましたが、それはどのブラウザでも機能しませんでした。

IEでリンクを並べ替えるにはどうすればよいですか?

Full text of script

答えて

2

.textどこでも働く標準のプロパティではありません。

vals.push(lis[i].innerHTML); 

それとも、単にテキストをしたい場合、あなたはこれを使用することができます:あなたはこのように代わり.innerHTMLを使用することができます

vals.push(lis[i].textContent || lis[i].innerText); 

一部のブラウザinnerText、いくつかのサポートtextContentをサポートしています。このコード行は、未定義でないものを取得します。どのブラウザが対応しているかは、http://www.quirksmode.org/dom/w3c_html.htmlで確認できます。

+3

'.text()'はjQueryメソッドです。ここにはjQueryがないので、.innerHTMLはあなたが望むものです。 –

+0

ありがとうございました! – user1040825

関連する問題