我正在尝试从特定的DIV中即时删除CSS类。我有以下jQuery代码:
<script type="text/javascript">
$(document).ready(function() {
$('.intro').click(function() {
$('.row_2').removeClass('.last_row');
});
});
</script>
..使用以下HTML
<div class="row_1 intro">Intro Row 1</div>
<div class"row_1 detail">Detail Row 1</div>
<div class="row_2 intro last_row">Intro Row 2</div>
<div class="row_2 detail last_row">Detail Row 2</div>
从概念上讲,当用户点击任意intro
个DIV时,它应该从last_row
DIV中删除row_2
类。但是,它似乎不起作用,因为一旦用户点击last_row
DIV,就不会从row_2
DIV中删除应用于intro
的渲染页面上的CSS样式。< / p>
这是jQuery代码的问题,还是我还需要做其他事情,以便渲染页面上的相关DIV能够动态更新以响应last_row
类被删除?
提前感谢您的帮助!
答案 0 :(得分:3)
使用$('.row_2').removeClass('last_row');
代替$('.row_2').removeClass('.last_row');
,它应该有效。
传递给.removeClass
的参数应该只是类的名称,不带点。
答案 1 :(得分:2)
removeClass
将以空格分隔的类名列表作为参数,因此没有点:
$(document).ready(function() {
$('.intro').click(function() {
$('.row_2').removeClass('last_row');
});
});
See here了解详情。
“dot”-syntax是选择元素的选择器机制。
答案 2 :(得分:0)
就我而言,
$("#amt").removeClass('hide');
没有任何区别;该领域仍然隐藏着。
我必须在id前加上“body #form
”引用,才能使其正常工作。
$("body #form #amt").removeClass('hide');
工作,使该领域可见。我理解这是因为,页面有多个引用“#amt”,并且第一个引用始终被解决,导致removeClass无效。必须具体,如果有更多的引用相同的字段。希望这会有所帮助。