如何使用各种通配符来选择一个带有jquery的元素类

时间:2014-12-03 19:59:08

标签: jquery

当你点击一个字符串时,我正在使用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”类的容器都会受到影响。我怎么能这样做?

2 个答案:

答案 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)

你走了:

var functionObj =  $("[name*=.frame]");

http://api.jquery.com/category/selectors/