2012-03-18 26 views
1

我用下面的代碼得到該錯誤。有誰知道爲什麼?mandFields [i] .css不是函數第6行

function validateAdminInput(){ 
    var mandFields = $('.mand'); 

    for(i=0; i< mandFields.length;i++){ 
     if (mandFields[i].value == ""){ 
      mandFields[i].css('border','solid red 1px'); 
     } 
    } 
} 
+2

宣告 「我」 與'var' !!!! – Pointy 2012-03-18 15:31:46

回答

3

mandFields[i]爲您提供了底層DOM元素。如果您想訪問jQuery .css()函數,您需要將其包裝在$(mandFields[i])中。

或者:

function validateAdminInput() { 
    $('.mand').each(function() { 
     if ($(this).val() == '') { 
      $(this).css('border','solid red 1px'); 
     } 
    }); 
} 

甚至:

function validateAdminInput() { 
    $('.mand[value=""]').css('border','solid red 1px'); 
} 
1

通過使用mandFields[i]mandFields.get(i)你retreive的DOM元素,所以像.css()沒有方法,它是由jQuery的提供。

使用eq()梅索德中檢索jQuery對象:mandFields.eq(i).css

相關問題