我有正常的HTML輸入字段,具有取決於窗口/瀏覽器設置的默認邊界。使用javascript去除css樣式
在表單驗證過程中,我將元素的邊框設置爲紅色。例
elem.style.border = "1px solid #ff0000";
如果用戶修正輸入,我想刪除了紅色的邊框,使輸入字段包含的 默認邊框。
我有正常的HTML輸入字段,具有取決於窗口/瀏覽器設置的默認邊界。使用javascript去除css樣式
在表單驗證過程中,我將元素的邊框設置爲紅色。例
elem.style.border = "1px solid #ff0000";
如果用戶修正輸入,我想刪除了紅色的邊框,使輸入字段包含的 默認邊框。
如果您只是切換課程,這可能會更容易。
var addClass = function(c, e) {
e.className += ' ' + c;
},
removeClass = function(c, e) {
e.className = e.className.replace(c, '');
};
用法:
addClass('redBorder', el);
removeClass('redBorder', el);
CSS:
.redBorder { border:1px solid red; }
真棒解決方案,因爲曾經有人以舊式的方式+1 – Marko 2010-08-17 08:52:02
這樣做的最好方法是添加一個CSS類來設置邊框。您可以添加一個類,
.redBorder{
border: "1px solid #FF0000";
}
,每當你需要設置這個類,你可以添加此作爲類的元素。這將簡化重置過程。
在非IE瀏覽器,你可以使用style
對象的removeProperty()
方法:
elem.style.removeProperty("border");
然而,更有意義的添加和刪除CSS類,Kangkan建議,因爲這將工作在所有主流瀏覽器中。
以下是根據您的需要或可能兩種方式來添加CSS
代替類是整體的一個更好的解決方案如果是多個班級,請參閱其他答案,例如
<style>
.red { border:1px solid red }
.black { border:1px solid black }
</style>
<input class="black" type="text" onKeyUp="this.className = isNaN(this.value)?'red':'black'">
<input class="black" type="text" onKeyUp="this.style.border = isNaN(this.value)?'1px solid red':'1px solid black'">
你有沒有考慮過jQuery? – Sam152 2010-08-17 08:39:01
jQuery如何提供幫助? – 2010-08-17 08:40:34
不能jQuery治療飢荒,並停止戰爭?正是我聽到的。 – Sam152 2010-08-17 08:41:25