我在弹出窗口中将rounded = Math.round(subnitOut * 100000.0)/100000.0;
属性设置为单个元素(通过fontStyle
)时出现问题。我得到id
事件,将样式(onClick
字体样式)放到所有类元素中,然后尝试将另一个样式(bold
)放到一个(单击的)元素中。我的代码是:
normal
有一个demo
为所有类元素设置$(document).on('click', '.listElement', function () {
$('.listElement').css('font-weight', 'bold');
alert(this.id);
$(this).css('font-weight', 'normal');
});
样式并且对话框正确显示bold
所以这是正确的元素(在id
中),但this
方法不起作用。我尝试使用.css()
来设置样式:
id
并且控制台中没有错误但它也不起作用。有没有其他方法可以将fontStyle设置为单个唯一元素?
答案 0 :(得分:2)
而不是删除CSS样式,为什么不直接将它添加到单击的对象?
获取所点击对象的ID并使用该...
$(document).on('click', '.listElement', function () {
var clickEl = this.id; //ID of clicked object
$('.listElement').not('#' + clickEl).css('font-weight', 'bold'); //bolds everything which is NOT the clicked item.
alert(this.id);
});
或
$(document).on('click', '.listElement', function () {
$('.listElement').not('#' + this.id).css('font-weight', 'bold'); //bolds everything which is NOT the clicked item.
alert(this.id);
});
如果有特定原因需要删除样式而不是从不应用它......
$(document).on('click', '.listElement', function () {
$('.listElement').css('font-weight', 'bold');
alert(this.id);
$('.listElement#' + this.id).css('font-weight', 'normal');
});