当你点击一个字符串时,我正在使用jquery为一个元素添加一个类。
$(document).ready(function(){
$(".addIframeNarrow").click(function(){
var functionObj = $(".frame");
var clickObj = $(".addIframeNarrow");
if(functionObj.hasClass("frame-narrow"))
{
$(functionObj).removeClass("frame-narrow");
} else
{
$(functionObj).addClass(" frame-narrow");
}
if (clickObj.hasClass("on"))
{
$(clickObj).removeClass("on");
} else
{
$(clickObj).addClass(" on");
}
});
});
在此函数中,.frame要么获取类,要么删除类。我想将.frame更改为外卡,以便任何包含“frame”类的容器都会受到影响。我怎么能这样做?
答案 0 :(得分:2)
$(".frame");
=> $("[class*=frame]");
文档:http://api.jquery.com/attribute-contains-selector/
.toggleClass
可用于进一步清理代码:
$(document).ready(function () {
$(".addIframeNarrow").click(function () {
var functionObj = $("[class*=frame]").toggleClass("frame-narrow");
var clickObj = $(".addIframeNarrow").toggleClass("on");
});
});
.toggleClass
返回对象,因此它在同一行上的使用不会影响变量。
答案 1 :(得分:1)