.addClass()
返回: jQuery
.addClass( className )
描述:把指定的样式类添加到匹配的元素集合中的每个元素上。
加入于: 1.0
.addClass( className )- className类型:String一个或更多用空隔分隔的类名,将要添加到每个匹配元素的样式类属性上。
加入于: 1.4
.addClass( function )注意这一点很重要:该方法不能替换掉一个样式类。它只是添加类名,把它追加到任何已经分配给元素的类名后面。
.addClass()
方法操纵了选中的元素的属性className
,而不是选中元素的元素属性class
。一旦改变了该属性,浏览器会根据它更新元素属性。该行为暗示着该方法只对带HTML DOM语义的document起作用(例如,不能用在纯XML document上)。
可以向匹配的元素集合同时添加不止一个类名,只要用空格隔开,如下所示:
$( "p" ).addClass( "myClass yourClass" );
该方法常常与.removeClass()
配合使用,从而转换元素的样式类,如下:
$( "p" ).removeClass( "myClass noClass" ).addClass( "yourClass" );
在这里,从所有的段落文本上删除了myClass
类和noClass
类,与此同时添加了yourClass
类。
自从jQuery 1.4版,.addClass
方法的参数可以接收一个函数。
$( "ul li" ).addClass(function( index ) { return "item-" + index; });
给出一个带有两个<li>元素的无序列表,该示例向第一个<li>添加了类名“item-0”,向第二个<li>添加了类名“item-1”。
示例
向匹配的元素添加类名“selected”。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>addClass demo</title> <style> p { margin: 8px; font-size: 16px; } .selected { color: blue; } .highlight { background: yellow; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <p>Hello</p> <p>and</p> <p>Goodbye</p> <script> $( "p" ).last().addClass( "selected" ); </script> </body> </html>
演示结果
向匹配的元素添加类名“selected”和“highlight”。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>addClass demo</title> <style> p { margin: 8px; font-size: 16px; } .selected { color: red; } .highlight { background: yellow; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <p>Hello</p> <p>and</p> <p>Goodbye</p> <script> $( "p:last" ).addClass( "selected highlight" ); </script> </body> </html>
演示结果
向.addClass()
方法传入一个函数,以向一个已带有“red”类的div添加了个“green”类。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>addClass demo</title> <style> div { background: white; } .red { background: red; } .red.green { background: green; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <div>This div should be white</div> <div class="red">This div will be green because it now has the "green" and "red" classes. It would be red if the addClass function failed.</div> <div>This div should be white</div> <p>There are zero green divs</p> <script> $( "div" ).addClass(function( index, currentClass ) { var addedClass; if ( currentClass === "red" ) { addedClass = "green"; $( "p" ).text( "There is one green div" ); } return addedClass; }); </script> </body> </html>
演示结果