我正在使用IE7。我有一个输入框如下:
<input name="location" type="text" id="location" maxlength="512" size="20" class="editable text"/>
我正在努力做到以下几点:
$("#location").addClass('flagged');
但这会消除文本框的所有现有样式。类'flag'没有任何与之关联的样式。现有的类具有以下CSS:
input.editable {
height: 18px;
background-color: #FFFFCC;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
border:#FFFFCC 1px solid;
margin:0px;
}
input.text {
text-align:left;
height:19px;
width:100px;
}
如果我手动将“标记为”类添加到输入框,则所有样式都保持不变。在Firefox中,jQuery addClass()
并未清除所有样式。为什么会在IE7中发生这种情况?
EDITED 我把它缩小到了这个......
if (!String.prototype.trim)
{
String.prototype.trim = function(){
// stuff
}
}
String.prototype.trim = function(){}
声明似乎导致了这个问题。有什么想法吗?
再次编辑似乎不喜欢它被称为'修剪'的事实。一天中的2小时花费:|
答案 0 :(得分:1)
尝试查看分配给元素的类,IE:
var myClass = $('#location').attr('class');
alert("classes = " + myClass);
答案 1 :(得分:0)
来自http://api.jquery.com/addClass/
注意这一点非常重要 方法不替换类。它 只需添加该类,将其附加到 任何可能已被分配的东西 元素。
因此,如果您想切换课程,请尝试以下方法:http://api.jquery.com/toggleClass/