2010-03-10 64 views
1

我試圖迭代對象的集合,並試圖爲每個對象設置一個屬性。jQuery - 如何爲'this'設置attr ..?

下面是代碼:

$(document).ready(function() 
{ 
    $('#clickButton').click(function() 
    { 
     var hiddenVal = $('#hdnVal').val(); 

     $('*').find('*[tabindex]').each(function(index) 
     { 
      //this.setAttribute('tabindex', hiddenVal + this.getAttribute('tabindex')); 
      $(this).attr('tabindex', 'test'); 
     }); 
    }); 
}); 

我無法設置屬性與$(this).attr('', '');但JavaScript的方式正常工作。我如何在jQuery中做到這一點?

+0

@Tim:好工作,對代碼prettification :-) – 2010-03-10 12:49:18

回答

2

將字符串設置爲tabIndex將不起作用,它必須是一個整數。

$(this).attr('tabindex', 'test'); 
alert($(this).attr('tabindex')); 
//^alerts 0 in IE for me, indicating the default is restored 

嘗試一些:

$(this).attr('tabindex', 1); 
alert($(this).attr('tabindex')); 
//^alerts 1 
+0

其實我想獲得一個隱藏值hiddenVal設置和使用前綴與當前值的現有。當我檢查螢火蟲,價值不會改變..是因爲價值被認爲是文字? – Amit 2010-03-10 12:56:36

+0

@Amit:可能。嘗試將結果轉換爲數字,例如'$(this).attr('tabindex',+(hiddenVal + $(this).attr('tabindex')));' – 2010-03-10 13:19:26

+0

嘿,有那麼多的跨瀏覽器問題。 。我用普通的javascript做了它..無論如何謝謝安迪的建議.. – Amit 2010-03-11 09:54:04

相關問題