2017-05-04 20 views
0

3つのエントリがあるはずの配列があります。jQuery;要素にコードとテキストを追加する

エントリー1:

<i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><br> 
<i>"Lorem Ipsum."</i><br><br> 
<b>Jane Doe</b> 

エントリー2:

<i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star-o" aria-hidden="true"></i><br> 
<i>"Ipsum Lorem"</i><br><br> 
<b>John Smith</b> 

Iがランダム配列からの1つのエントリを選択するはずの機能を有しています。しかし、問題は、 HTMLコードのテキストを配列エントリに含めるにはどうすればよいですか?それはちょうど引用符で台無しになる。

エンドポイントは次のようになっています。関数はランダムに1つの項目を後で選択しますに別の要素の項目を追加します。あなたはそれを見たい場合は

これはランダムなエントリを選ぶコードです:

var chosen = reviews[Math.floor(Math.random() * reviews.length)]; 

reviewsは、配列の変数名です。

+0

なぜあなたはjqueryの要素を作成し、配列に追加しませんか? – Krishna

+0

私はあなたのhtmlが一般的で、値だけが変更されているのを見ることができます。なぜhtml要素全体を配列にしたいのですか?私は単純に値を配列に保持し、html要素でランダムに選択した値をバインドして表示することをお勧めします。 – Deepak

+0

@Deepak HTMLは2つの間で変更されています。初めて;最後の ''クラスは2番目のエントリとは異なります。どのようにhtmlをエントリにバインドできますか?私はそれについても考えましたが、私は実際にそれを行う方法を見つけることができませんでした –

答えて

0

あなたのトラブルは何ですか?一重引用符と二重引用符を使用します。

var reviews=[]; 
 
// Entry 1 
 
reviews.push(
 
    '<i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><br>' + 
 
    '<i>"Lorem Ipsum."</i><br><br>' + 
 
    '<b>Jane Doe</b>' 
 
); 
 
// Entry 2 
 
reviews.push(
 
    '<i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star" aria-hidden="true"></i><i class="fa fa-star-o" aria-hidden="true"></i><br>' + 
 
    '<i>"Ipsum Lorem"</i><br><br>' + 
 
    '<b>John Smith</b>' 
 
); 
 
var chosen = reviews[Math.floor(Math.random() * reviews.length)]; 
 
document.getElementById('MyContainer').innerHTML = chosen;
<p id="MyContainer"></p>

+0

なぜ分かりませんが、それは私のために働いていません..今は動作します。私はとても混乱しています –

+0

コードスニペットを実行してみてください。 – Alexander

+0

それは私のために今働いている!それは私がいくつかの行にエントリを持っていて、エントリー全体に対して一組の引用符しか持たなかったために機能しなかったことを認識しました。私は私の睡眠不足 –

関連する問題