在onclick事件中设置css属性

时间:2017-04-16 18:40:31

标签: javascript jquery html css

我在弹出窗口中将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设置为单个唯一元素?

1 个答案:

答案 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);
});

Updated Fiddle

如果有特定原因需要删除样式而不是从不应用它......

$(document).on('click', '.listElement', function () {
$('.listElement').css('font-weight', 'bold');
alert(this.id);
$('.listElement#' + this.id).css('font-weight', 'normal');
});

Fiddle for that

相关问题