[英]JQuery changing element's predefined style by changing attribute doesn't work in ie
我的CSS中有一些基於elements屬性的預定義樣式。 如果我將屬性的值更新為也具有預定義樣式的新內容,則該樣式將應用於FF和Chrome,但不會應用於IE。 請參閱示例,然后在輸入字段中鍵入。
JS:
$('input').on('keypress', function(){
var l = parseInt($(this).attr('level'), 10) + 1;
$(this).attr('level', l);
});
CSS:
input[level="0"]{background:red;}
input[level="1"]{background:blue;}
input[level="2"]{background:green;}
input[level="3"]{background:black;}
任何幫助表示贊賞,謝謝。
編輯:與IE 9一起使用,但不<= 8
這是一個IE錯誤。 請注意,調整窗口大小時,元素將正確呈現。
通過設置類名稱來觸發重排:
this.className = this.className; // Or .addClass(' ');
$('input').on('keypress', function(){
var l = parseInt($(this).attr('level'), 10) + 1;
$(this).attr('level', l).addClass(' ');
});
嘗試這個
$('input').on('keydown', function(){
var l = parseInt($(this).attr('level'), 10) + 1;
alert(l); //can be removed.
$(this).attr('level', l.toString()).hide().show().focus();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.