2012-10-01 64 views
1

對不起這個打擾你,但,這是困擾我:我有以下瓦爾:獲取特定變量的值,根據程序確定的HTML屬性

var one = 1; 
var two = 2; 
var tre = 3; 

我也有一個輸入框

<input type='text' id='one' class='some'> 

我想要一個變量,它包含上面變量的相應值,根據輸入框的id。

var atr = $(".some").attr("id"); 
var nr = ??? 

我想VAR nr等於1(爲變量one上述

+0

'var nr = 1;'??? –

+0

我不明白你想達到什麼。請詳細說明。 –

+0

你的問題不清楚 – codingbiz

回答

2

你只能使用動態針對對象屬性的匹配產生的變量名:

var ids = { one : 1, two : 2, tre : 3 }; 

var atr = $(".some").attr("id"); 

var nr = ids[atr]; // now contains 1 
+0

Finallly有人理解我的問題。我接受它。 – faq

4

使用以下符號:

$('selector[attr]') // elements that has attribute attr 
    $('selector[attr=value]') // elements that has attribute attr with value `value` 
    $('selector[attr^=value]') // elements that has attribute attr starting with value `value` 
    $('selector[attr$=value]') // --~-- ending with `value` 
    $('selector[attr!=value]') // not equal `value` 
    $('selector[attr*=value]') // attribute contains `value` 
    $('selector[attr|=value]') // attribute has prefix `value` 
    $('selector[attr~=value]') // attribute contain word delimited by spaces 

見的完整列表jquery attribute selectors

編輯: 可以有你是問有關的另一件事:

你有值的特定地圖,想做到這一點:

var map = { one: 1, two : 2 , three: 3 } , 
    elem = $('.some'), 
    attr = elem.attr('id'), 
    nr = map[attr] // === 1 
+1

爲了完整起見,下面是[屬性選擇器的jQuery參考](http://api.jquery.com/category/selectors/attribute-selectors/)其他變體(包括'attr * = value','attr $ = value'等。) –

+0

@BradChristie感謝,包括那些從我的頭 – vittore

+0

@BradChristie的頂部將你提到的鏈接添加到答案 – vittore