2013-05-27 23 views
0

我正在尋找使用jQuery的.insertBefore方法重新排列下拉菜單。不過,我在選擇每個optionvalue屬性時遇到了一些麻煩。jQuery兩個<options>具有特定值的切換順序

實施例:http://jsfiddle.net/4WGvB/1/

基本上,事1應事2之前使用該方法放置。

<select> 
    <option value="1">Thing 2</option> 
    <option value="2">Thing 1</option> 
    <option value="3">Thing 3</option> 
</select> 

$($(("option").attr({value: "2"})).insertBefore($(("option").attr({value: "1"}))); 
+0

你正在使用的語法_creating_新選項的元素,而不是_selecting_他們。 – Barmar

+0

嗯...你能以正確的方式顯示答案嗎? – lawx

回答

3

您正在使用.attr()方法作爲設置器。無論如何,你永遠不能使用.attr()作爲SELECTOR。

看看這個小提琴:

$('option[value="2"]').insertBefore($('option[value="1"]')); 

http://jsfiddle.net/4WGvB/2/

+0

啊!我曾嘗試過,但一定沒有做到。要插入變量,那麼我只是將引號轉義出來,對吧? – lawx

+0

是的,我似乎有一些麻煩逃離報價。這似乎不是這樣做的:'$('option [value ='x']')。insertBefore($('option [value =「1」]'));' – lawx

+0

內部使用雙引號單引號字符串,反之亦然。 – Barmar