2016-04-25 55 views
0

我只是無法弄清楚一個行爲,我不是一個JQuery專家,這讓我很頭疼。 所以,在我的文件準備好,我有添加的JQuery類不會持續發生變化

$('#Table').on('change', '#TeamValue', function (event) { 
     $(this).removeClass("valid"); 
     $(this).addClass("input-validation-error"); 
     var myClass = $(this).attr('class'); 
     console.log(myClass); 
    } 
}); 

在控制檯中我看到了改變類但前面事實並非如此。這是爲什麼發生? 我還看到,當我刪除內容我的輸入驗證錯誤類似乎很好......我只是不明白。 有人能幫我一下嗎?

謝謝!課改前

輸入:

<input id='TeamValue' type='text' class='small-textbox'> 

控制檯日誌:

text:a -.js:451:1 
wroing! -.js:456:13 
small-textbox input-validation-error 

該元素的HTML後,他的課被改變:

<input id="TeamValue" onkeyup="Restriction()" class="small-textbox valid" type="text"> 
+0

你的意思是與該類相關的CSS是不生效?另外,你可以發佈一些HTML嗎? – nurdyguy

+0

我在第一篇文章中增加了更多細節。在我的功能結束後,該類會以某種方式被刪除,我不知道如何... –

+0

從你有什麼它看起來是正確的。是否有代碼可能會干擾? – nurdyguy

回答

-1

$(this)方面你是指可能是#Table元素而不是#TeamValue您期待的元素。我的假設是,類變化是在該元素上發生的。嘗試直接連接的更改處理到#TeamValue元素:

$('#TeamValue').on('change', function (event) { 
    $(this).removeClass("valid"); 
    $(this).addClass("input-validation-error"); 
    var myClass = $(this).attr('class'); 
    console.log(myClass); 
}); 

```

+0

這是不正確的。這個指針引用#TeamValue。雖然他可能應該改變綁定以符合你的要求,但只是因爲他使用了ID並且可能會利用該ID。 – nurdyguy