2011-06-29 35 views
0

我有以下腳本插入jquery文件後加載的外部文件中。代碼執行正常,直到'.each'行與僞類jQuery的問題

$("form").submit(function(event){ 
event.preventDefault(); 

var msg = fx.init(); 
alert($(':text').length); 
$('input:text').each(function() 
{ 
    if ($(this).val == 0) 
    {alert('asd'); 
     msg.append ($(this).attr('id')+" does not have a value <br />"); 
    } 

}) 

});

的問題是,「警告」部分執行,它顯示的元素正確的號碼,雖然當我看在Opera的蜻蜓錯誤選項卡中顯示以下信息:

1)「未知僞類1行: :文本「 - 這條消息是用於 ‘警報’線和

2)」未知僞 類第1行:輸入:文本 - 這 消息是針對下一行

我知道我是初學者,但是你們任何一位同事都可以在這段代碼中看到錯誤嗎?

fx.init()是文件頂部的一個小對象,用於動態創建div到頁面中。

PS:這個代碼在既有歌劇11.10和Firefox 4都具有相同的結果

預先感謝您, 丹尼斯r爲測試。

回答

1

顯然,jQuery的選擇器引擎嘗試在自己的代碼之前使用瀏覽器功能,以提高速度。如果一個僞選擇器不被一個瀏覽器支持,你會得到這個警告。我不是100%確定這一點,但similar errors have been mentioned elsewhere。他們只是警告,而不是錯誤,並且AFAIK他們不干涉任何事情。

至於你的錯誤,val is a method,所以你需要這樣的:單獨

if ($(this).val() == 0) 
+0

+1您的用戶名;) –

+0

喜HertzaHaeon,非常感謝你的response..indeed問題爲什麼代碼沒有執行是因爲我忘記了val()函數的()...它一定是長時間的:)但奇怪的是,事實上蜻蜓沒有提到這是一個錯誤。還有關於僞類的消息仍然被拋出,但代碼現在正確執行,所以爲此我感謝你。 – denisr