2

基本的に一連の事前定義されたフレーズから選択し、それをページのサブヘッダーとして表示するものを設定しようとしています。ここで何が間違っていましたか?

    <html>
    <head>
    <script type="text/javascript">
        function RandomQuote()
        {
        var quotes= new Array();
        quotes[0] = 'Home of Fall!'
        quotes[1] = 'At Least This is Something!'
        quotes[2] = 'Javascript!'
        quotes[3] = 'Railroads at Last!'
        quotes[4] = 'Better than Wikipedia'
        quotes[5] = 'Now with Scorpions!'
        quotes[6] = 'Irrelevant Stuff!'
        quotes[7] = 'Fall is here!'
        quotes[8] = 'That moment when Image-908329490283094.jpg'
        quotes[9] = 'With Added Roundness!'
        quotes[10] = 'Bacon!'
        quotes[11] = 'Try Out WinterNstuff!'
        quotes[12] = 'Try Out SpringNstuff!'
        quotes[13] = 'Try Out SummerNstuff!'
        quotes[14] = 'all html is lowercase!'
        quotes[15] = '<div id=''youWishYouCouldReadThis''>InsertCodeHere</div>'
        quotes[16] = 'In Remembrance of the soldiers who died in the Iranian War'
        quotes[17] = 'Leaf Me Alone!'
        quotes[18] = 'Pumpkins Were So 2011.'
        quotes[19] = 'This Does not Count as a Random String'
        quotes[20] = 'With Added Content Generation!'

    return quotes[Math.floor((Math.random() * 19.9999))];
}
    </script>
    <title></title>
    </head>
    <body>
    <div id="container">
    <div id="header">
    <table style="background-color:blue">
    String:
    <script type="text/javascript">document.write(RandomQuote());</script>
    </table>
    </body>
</div>
</div>

フォローアップとして、ランダムな文字列生成で同じことを行うようにタイトルを構成する方法はありますか?

4

4 に答える 4

3

引用符で引用符をエスケープする必要があります[15]。ここに作業フィドルがありますhttp://jsfiddle.net/ranjith19/HCCSW/

function RandomQuote()
    {
    var quotes= new Array();
    quotes[0] = 'Home of Fall!'
    quotes[1] = 'At Least This is Something!'
    quotes[2] = 'Javascript!'
    quotes[3] = 'Railroads at Last!'
    quotes[4] = 'Better than Wikipedia'
    quotes[5] = 'Now with Scorpions!'
    quotes[6] = 'Irrelevant Stuff!'
    quotes[7] = 'Fall is here!'
    quotes[8] = 'That moment when Image-908329490283094.jpg'
    quotes[9] = 'With Added Roundness!'
    quotes[10] = 'Bacon!'
    quotes[11] = 'Try Out WinterNstuff!'
    quotes[12] = 'Try Out SpringNstuff!'
    quotes[13] = 'Try Out SummerNstuff!'
    quotes[14] = 'all html is lowercase!'
    quotes[15] = '<div id=\'youWishYouCouldReadThis\'>InsertCodeHere</div>'
    quotes[16] = 'In Remembrance of the soldiers who died in the Iranian War'
    quotes[17] = 'Leaf Me Alone!'
    quotes[18] = 'Pumpkins Were So 2011.'
    quotes[19] = 'This Does not Count as a Random String'
    quotes[20] = 'With Added Content Generation!'

return quotes[Math.floor((Math.random() * 19.9999))];
    }
于 2012-10-22T05:01:10.130 に答える
2

引用 #15 には適切な引用が必要です。

quotes[15] = '<div id="youWishYouCouldReadThis">InsertCodeHere</div>';
于 2012-10-22T04:59:32.710 に答える
1

まず、0..19.999 か​​らインデックスを生成しているため、quotes[20]使用されることはありません。

最善の解決策は

return quotes[Math.random()*quotes.length];

第二に、他の人が述べたように、引用#15は適切にエスケープされていません:

quotes[15] = '<div id=''youWishYouCouldReadThis''>InsertCodeHere</div>'

する必要があります

quotes[15] = '<div id=\'youWishYouCouldReadThis\'>InsertCodeHere</div>'

また

quotes[15] = '<div id="youWishYouCouldReadThis">InsertCodeHere</div>'

第 3 に、固定配列を作成する簡単な方法があります。

quotes = [
  'Home of Fall!',
  'At least This is Something!',
  ...
  'With Added Content Generation'
]

第 4 に、テキストを .xml 内に配置しないでください<table>。あなたの<p>場合はタグの方が良いでしょう。

第 5 に、終了タグの順序が正しくありません。これに気付いた功績は @rlay3 にあります。

于 2012-10-22T05:13:25.530 に答える
0

quotes[15] には二重引用符が必要です。または、単一引用符をエスケープする必要があります

quotes[15] = '<div id=\'youWishYouCouldReadThis\'>InsertCodeHere</div>'

また

quotes[15] = '<div id="youWishYouCouldReadThis">InsertCodeHere</div>'

PS body/div 終了タグの順序が正しくありません

これがあなたのコードの働きです。

于 2012-10-22T05:06:55.580 に答える