2014-08-30 44 views
0

我有兩個函數。第一個函數將用戶在文本框中輸入並將其附加到div,然後將其顯示在html中。第二個將會改變用戶的單詞並改變單詞的背景和顏色,這樣單詞就會改變單詞的顏色和背景。第一個功能正常工作,第二個功能是我遇到問題。我之前沒有用jQuery創建過一個數組,所以我猜測我的語法有些問題,因爲我的代碼運行起來就好像沒有第二個函數一樣。有什麼建議麼?用jquery創建一個數組

感謝

下面是功能

function listWordsUsed(wordUsed) { 
    var userTrials = $('#userGuesses'); 
    var divisor = $("<div>" + wordUsed + "</div>"); 
    divisor.hide().appendTo(userTrials).fadeIn(7000); 
    return; 
} //End of function listWordsUsed(wordUsed) 

function addStyleToAnswers(wordUsed) { 
    listWordsUsed(wordUsed); 
    theGuess = $("div").toArray(); 
     for (i=0; i< theGuess.length; i++) 
     { 
      if (i % 2 == 0) 
      { 
       $("#userGuesses").addClass("oddGuess"); 
      } //if (i % 2 = 0) 
      else 
      { 
       $("#userGuesses").addClass("evenGuess"); 
      } //else 
     } //for (i=0; i< wordUsed.length; i++) 
} //function addStyleToAnswers(wordUsed) 

下面是功能

.oddGuesses { 
    color: orange; 
    background-color: blue; 
} 

.evenGuesses { 
    color: blue; 
    background-color:orange; 
} 
+0

因爲代碼並沒有真正有很大的意義,關心什麼你的期望是什麼? – charlietfl 2014-08-30 00:36:32

+0

這是我想要的。我將在'addStyleToAnswers(wordUsed)'函數中運行'addStyleToAnswers(wordUsed)'函數。對於客人輸入的第一個單詞,背景將變爲藍色,文字將變成橙色,第二個單詞的背景變爲橙色,文字變成藍色等等,然後文字將被打印在頁。 – Tavo 2014-08-30 00:45:11

回答

0

要遍歷一個jQuery對象的CSS文件,你可以使用.each()http://api.jquery.com/each/ 像:

function addAnswer (wordUsed) { 
    var userTrials = $('#userGuesses'); 
    var divisor = $('<div class="word">' + wordUsed + '</div>'); 
    divisor.hide().appendTo(userTrials).fadeIn(7000); 
    return; 
} 

function addStyleToAnswers(wordUsed) { 
    $('.word').each(function(index){ 
    if (index%2 === 0) { 
     $(this).addClass('odd') 
    } else { 
     $(this).addClass('even') 
    } 
    }); 
} 

addAnswer(); 
addStyleToAnswers(); 

但是,當你只想風格偶數或奇數的元素,你可以做到這一點在CSS與 div:nth-child(odd)div:nth-child(even)至少當你不約IE8

+0

謝謝。我不知道CSS的第十一個孩子。那就是訣竅。我發現這個網頁很有幫助[link](http://css-tricks.com/how-nth-child-works/) – Tavo 2014-08-30 18:03:44