Jquery $.removeAttr()调整输入文本的大小

Jquery $.removeAttr()调整输入文本的大小,jquery,Jquery,当我在表单输入文本框上使用jquery$.removeAttr()时,它将文本框的大小调整了大约5个像素。如果我不使用$.removeAttr(),则文本框将正常工作。怎么回事 我最终尝试从文本框中删除浅灰色斜体CSS样式,并使用普通样式的黑色文本 为什么我的文本框要调整大小 html: .defaultText{ 颜色:浅灰色; 字体:斜体; }​ $(文档).ready(函数(){ $('email,'emailconfirm').live('focusin',function(){ 如果

当我在表单输入文本框上使用jquery
$.removeAttr()
时,它将文本框的大小调整了大约5个像素。如果我不使用
$.removeAttr()
,则文本框将正常工作。怎么回事

我最终尝试从文本框中删除浅灰色斜体CSS样式,并使用普通样式的黑色文本

为什么我的文本框要调整大小

html:


.defaultText{
颜色:浅灰色;
字体:斜体;
}​
$(文档).ready(函数(){
$('email,'emailconfirm').live('focusin',function(){
如果(this.value==“电子邮件”| this.value==“确认电子邮件”){
$(this.val(“”).removeAttr('class');
}            
});
});

addFieldToCheck(“电子邮件”、“电子邮件”);
addFieldToCheck(“emailconfirm”,“确认您的电子邮件地址”); ​
因此,通过添加
宽度:200px到我的
defaultText
类我能够解决这个问题

<style type="text/css">
   .defaultText{
       width: 200px;
       color: lightgrey;
       font-style: italic;
   }​
</style>

.defaultText{
宽度:200px;
颜色:浅灰色;
字体:斜体;
}​

您可以通过为文本框指定固定宽度来解决此问题。这样,即使删除
.defaultText
类,文本框仍设置为定义的宽度

input[type="text"] {
  width: 200px;
}
.defaultText{
  color: lightgrey;
  font-style: italic;
}

您确定它不包括更改字体大小吗?请显示您删除属性的代码或JSFIDLE进行检查。它不是
removeAttr
,而是字体样式的更改。删除
字体样式:斜体行并观察输出帧的更新和宽度的增加。您的右侧@sachleen,我可以通过jquery从css中删除它吗?我不知道这如何解决问题-您仍然删除该类及其应用于焦点的所有样式。
input[type="text"] {
  width: 200px;
}
.defaultText{
  color: lightgrey;
  font-style: italic;
}