我希望能够为类创建“单击”响应,然后更改所单击的特定元素的CSS。
这似乎不起作用。我认为使用$(this)
表示特定元素但似乎没有。一个复杂的问题是我重写了外部样式表。
我的jquery代码:
$('.myClass').click( function() {
$('this').css("width: 30% !important");
alert("THIS ALERT WORKS");
})
警报确实有效。我有静态CSS,可以更改.myClass
。
我的HTML:
<button class="classA classB myClass" type="submit">Button</button>
我也试过$('this').val("")
,但这不起作用。
答案 0 :(得分:2)
试试这个
$('.myClass').click( function(){
$(this).css('width', '30%');
// or $(this).css('width', '30% !important');
})
在你的代码中有两个错误
<强> 1 强>
$('this') should be $(this)
<强> 2 强>
$('this').css("width: 30% !important");
应为$('this').css("width", "30% !important");
如果您想要更改多个选项,可以像这样做
$(this).css({backgroundColor: "green", borderColor: "black", borderWidth: "30px"});
//或
$(this).css({'background-color': "green", 'border-color': "black", 'border-width': "30px"});
$.css - on this page您可以找到有关$.css
语法
答案 1 :(得分:2)
你的语法错了,它应该是
$(this).css("width", "30% !important");
或
$(this).css({"width": "30% !important"});
不
$(this).css("width: 30% !important");
您需要将属性与其值分开。
<强>更新强>
如果您想编辑多个属性,我根本不会使用.css()
。我会使用addClass
来代替CSS类。这样,JS的开销就更少了。例如:
<强> JS 强>
$(this).addClass("adjust")
<强> CSS 强>
.adjust{
background-color: green;
border-color: black;
border-width: 30px;
}
答案 2 :(得分:0)
试试这个:
$('.myClass').click( function(){
$(this).css('width', '30%');
alert("THIS ALERT WORKS");
});
答案 3 :(得分:0)
$('.myClass').click( function(){
$('this').css("width", "30% !important");
alert("THIS ALERT WORKS");
})