2012-12-09 44 views
0

我正在關注一個jQuery tutorial,它的代碼似乎可以在jQuery 1.4.3下正常工作,但我需要它與jQuery 1.8.3一起工作。jQuery代碼不再適用於v1.8.3

的jsfiddle:http://jsfiddle.net/auBbz/

問題:當我切換的jQuery的版本使用1.8.3版本,class更換className後,顯示在Result窗格中沒有任何文字的選擇框在<div class="selectBox"></div>內。http://jsfiddle.net/auBbz/1/

我錯過了什麼樣的改變:在更改後

的jsfiddle?

+0

更新的小提琴有什麼不正確?對我來說,它顯示下拉...只有樣式/圖像不正確 –

+0

我沒有看到任何文字裏面'

' – Nyxynyx

+0

你的意思只是加載後? –

回答

1

1.4和1.6之間的一個主要變化是attr()方法和prop()方法的引入,用於不屬於屬性的屬性。

selectedIndex將被視爲屬性而非屬性。 attr('selectedIndex')您的代碼正在返回undefined。使用prop('selectedIndex')代替

DEMO:http://jsfiddle.net/auBbz/3/

0

您按照本教程是壞的和過時的。

刪除此條件:

if(i==select.attr('selectedIndex')){ 
          selectBox.html(option.text()); 
      } 

添加循環之前如下:

selectBox.html(select.find('option:selected').text()); 

http://jsfiddle.net/oceog/auBbz/2/

該教程是不好的,因爲它的HTML的非非標準屬性使用attr,並作爲他們知道1.4.2引入了data()方法,它涵蓋了這一點。好。還有每個optionselect中選擇的都有selected屬性,所以我不會在標準存在時使用自定義屬性。

相關問題