2017-03-17 19 views
0

誰でも次のJavascriptコードで私を助けることができますか?私は、出力に

<!DOCTYPE html> 
 
<html lang="en"> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <script> 
 
    var arr = new Array(1, 10, 8, 56, 12, 45); 
 
    document.getElementById("srt").innerHTML = arr; 
 

 
    function asc() { 
 
     arry.sort(function(a, b) { 
 
     return a - b; 
 
     }) 
 
     document.getElementById("srt").innerHTML = arr; 
 
    } 
 

 
    function desc() { 
 
     arry.sort(function(a, b) { 
 
     return b - a; 
 
     }) 
 
     document.getElementById("srt").innerHTML = arr; 
 
    } 
 
    </script> 
 
</head> 
 

 
<body bgcolor="aqua"> 
 
    <div> 
 
    <h4>Click the button to sort the Array.</h4> 
 
    </div> 
 

 
    <div><input type="button" onclick="asc()" value="Ascending"></div> 
 
    <div><input type="button" onclick="desc()" value="Descending"></div> 
 

 
    <div> 
 
    <h4><span id="srt"></span></h4> 
 
    </div> 
 
</body> 
 

 
</html>

を取得することはできないんだけど、私のjavascriptのcode.Iを確認してください、私はそこに間違ってどこか間違っているつもりだと思います。ボタンをクリックすると、ソートされた配列は表示されません。

+0

問題レンダリングされる前に要素にアクセスしようとしていますか? load( 'window.addEventListener( 'load'、function(){//ここであなたのコード})')イベントまたは最後にリソースをロードしてください。 – Rajesh

+0

また、タイプミスがあります。 'arry.sort'?これは 'arr.sort'でなければなりません – Rajesh

+0

これは修正されていませんでした@Rajesh LOL :) :) – user7417866

答えて

0

で、どちらかのあなたは、HTMLの本文の最後に、あなたのjavascriptを定義したりと呼ばれる構造にJavaScriptコードをラップする必要がありますページが読み込まれ、準備が整いました。

<!DOCTYPE html> 
<html lang="en"> 

<head> 
    <meta charset="UTF-8"> 
</head> 

<body bgcolor="aqua"> 
    <div> 
    <h4>Click the button to sort the Array.</h4> 
    </div> 

    <div><input type="button" onclick="asc()" value="Ascending"></div> 
    <div><input type="button" onclick="desc()" value="Descending"></div> 

    <div> 
    <h4><span id="srt"></span></h4> 
    </div> 

    <script> 
    var arr = new Array(1, 10, 8, 56, 12, 45); 
    document.getElementById("srt").innerHTML = arr; 

    function asc() { 
     arr.sort(function(a, b) { 
     return a - b; 
     }) 
     document.getElementById("srt").innerHTML = arr; 
    } 

    function desc() { 
     arr.sort(function(a, b) { 
     return b - a; 
     }) 
     document.getElementById("srt").innerHTML = arr; 
    } 
    </script> 
</body> 

</html> 
+0

信用をいただきありがとうございますが、他の回答についてのコメントをお読みになると、その回答に間違いがあります。私はあなたの答えを取り除くようにあなたに要求するでしょう。 – Rajesh

+0

申し訳ありませんが、私は答えに間違った部分を得ることができませんでした。上のコードはちょうど働いていますか? –

+0

ミスの修正は、*私がデバッグに手伝ってくれるようなものなので、間違っている理由です。第二に、OPにコンソールが表示されていれば、このミスは解決できる可能性があるので、あなたの答えは価値を追加しません。そのような質問は存在しないはずですが、OPは回答があるので削除できません。したがって、あなたはOPに通知するためにコメントする必要があります。 – Rajesh

-1

オス以外のjsコードにエラーはありません(arryには何も定義されていません)。

DOMの準備が整う前にスクリプトを読み込むのが問題です。

そのような場合にはdocument.getElementById要素がDOM

var arr = new Array(1, 10, 8, 56, 12, 45); 
document.getElementById("srt").innerHTML = arr; 

function asc() { 
    arr.sort(function(a, b) { 
    return a - b; 
    }) 
    document.getElementById("srt").innerHTML = arr; 
} 

function desc() { 
    arr.sort(function(a, b) { 
    return b - a; 
    }) 
    document.getElementById("srt").innerHTML = arr; 
} 

に存在しないとあなたはDOMの準備が完了したときにコードをロードしたり、window.onload

エルス
<body> 
../Rest of the code 
<script> 
    // js code 
</script> 
</body> 

まだあなたの場合を使用することができます動作しません。ヘッダにコードをロードしたい

`window.onload` = function() { 
    // your code 
}; 

あなたが探索することができます別のオプションは、ラジェッシュが指摘したようにDOMContentLoaded

<script> 
    document.addEventListener("DOMContentLoaded", function(event) { 
    // your code here 
    }); 
</script> 

DEMO

+0

本当に誤植に答えるべきでしょうか? – Rajesh

+1

この回答をここにしておきましょう。人々には、書式設定の問題のため投票結果を投票する少年がいます。 – brk

+0

*書式設定の問題*?だからあなたはタイポグラフィーの質問を見て、それを閉じて答えるために投票しません。この質問がポータルに何を追加するのか教えてください。私は誰にも何もない。はい、私は説明が足りないのを拒否しますが、それは説明を追加することを奨励することです。また、議論はしませんが、誤字に答えることは間違っています – Rajesh

関連する問題