2014-03-26 38 views
0

如何將jQuery自定義屬性值設置爲Integer而不是String。 我想使用jQuery動態設置tabindex值。jQuery將att值設置爲整數

<input tabindex=1 /> 
var allInputs = new Array(); 
         $(':input').each(
           function() { 
            allInputs.push($(this)); 
           } 
          ); 

         $.each(allInputs, function (i) { 
          var indexNumber = i + 1; 
          $(this).attr('tabindex', indexNumber); 
         }); 

此代碼將值設置爲「」中的字符串。

e.g <input tabindex="1" /> 

是否有任何其他的方式來設定值爲整數,所以這將是

<input tabindex=1 /> 

/Jivan

+0

你想設置tabindex值爲字符串爲int? –

+1

元素的屬性始終是字符串。你不能將它們設置爲數字。不過,您可以將它們用作腳本中的數字,或者通過類型轉換將它們用作自己喜歡的數字。 – lshettyl

回答

4

在HTML中,attribute value is always a string

即使您省略引號,也會假定它們在那裏。

<input tabindex=1 /> 

嚴格準確

<input tabindex="1" /> 

渲染,瀏覽器知道tabindex屬性字符串值是一個數字,做解析內部同樣的事情。如果它不是數字,瀏覽器將忽略它。

實際上,建議使用始終引號。這就是爲什麼當甚至設置屬性值與整數(paseInt或不),瀏覽器將它包裹到引號..(或甚至jQuery包裝顯式引號)

不要擔心引號,保持編碼和開心:)

+0

它更合乎邏輯,然後在使用它時將其解析爲數字。 – Vincent

+1

@PratikJoshi,絕望不會改變DOM元素的行爲:) – lshettyl