jQuery的更改类名称
我想改变td标签的id的类的标签:
<td id="td_id" class="change_me"> ...
我希望能够在一些其他dom对象的点击事件中做到这一点。 我如何获取td的id并改变它的类?
您可以使用.attr()
来设置类(不pipe它是什么.attr()
,如下所示:
$("#td_id").attr('class', 'newClass');
如果你想添加一个类,请使用.addclass()
来代替,如下所示:
$("#td_id").addClass('newClass');
或者使用.toggleClass()
交换类的简短方法:
$("#td_id").toggleClass('change_me newClass');
以下是专门用于class
属性的jQuery方法的完整列表 。
我想你正在寻找这个:
$('#td_id').removeClass('change_me').addClass('new_class');
我想他想replace一个类名。
像这样的东西可以工作:
$(document).ready(function(){ $('.blue').removeClass('blue').addClass('green'); });
从http://monstertut.com/2012/06/use-jquery-to-change-css-class/
你可以这样做: $("#td_id").removeClass('Old_class'); $("#td_id").addClass('New_class');
$("#td_id").removeClass('Old_class'); $("#td_id").addClass('New_class');
或者你可以做到这一点
$("#td_id").removeClass('Old_class').addClass('New_class');
你可以看看addClass或toggleClass
所以你想改变它,当它被点击…让我经历整个过程。 我们假设你的“外部DOM对象”是一个input,就像一个select:
我们从这个HTML开始:
<body> <div> <select id="test"> <option>Bob</option> <option>Sam</option> <option>Sue</option> <option>Jen</option> </select> </div> <table id="theTable"> <tr><td id="cellToChange">Bob</td><td>Sam</td></tr> <tr><td>Sue</td><td>Jen</td></tr> </table> </body>
一些非常基本的CSS:
#theTable td { border:1px solid #555; } .activeCell { background-color:#F00; }
并设置一个jQuery事件:
function highlightCell(useVal){ $("#theTable td").removeClass("activeCell") .filter(":contains('"+useVal+"')").addClass("activeCell"); } $(document).ready(function(){ $("#test").change(function(e){highlightCell($(this).val())}); });
现在,无论何时从select中select一些东西,它都会自动查找具有匹配文本的单元格,从而可以颠覆整个基于id的过程。 当然,如果你想这样做,你可以很容易地修改脚本使用ID而不是价值
.filter("#"+useVal)
并确保适当添加ID。 希望这可以帮助!
编辑:
如果你说你是从一个嵌套元素改变它,你根本不需要这个ID。 你可以这样做:
$(this).closest('td').toggleClass('change_me some_other_class'); //or $(this).parents('td:first').toggleClass('change_me some_other_class');
原始答案:
$('#td_id').removeClass('change_me').addClass('some_other_class');
另一个select是:
$('#td_id').toggleClass('change_me some_other_class');
通过JQuery改变类
你可以使用.attr()来设置类,比如,
$("#td_id").attr('class', 'newClass');
如果您已经拥有一个class级,并且需要在class级之间进行轮换以反对添加class级,则可以链接切换事件:
$('li.multi').click(function(e) { $(this).toggleClass('opened').toggleClass('multi-opened'); });