Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用以选择器结尾的属性添加类_Jquery_Css_Jquery Selectors_Attributes - Fatal编程技术网

Jquery 使用以选择器结尾的属性添加类

Jquery 使用以选择器结尾的属性添加类,jquery,css,jquery-selectors,attributes,Jquery,Css,Jquery Selectors,Attributes,我正在尝试根据页面的背景图像更改字体的颜色 我已经浏览了我能找到的每一篇关于这一点的帖子,但我无法找出适合我的特定应用程序的正确语法 我正在尝试编写一个函数,该函数表示“如果body的背景图像以“-dark.png”结尾,则将类.dark添加到nav 以下是我所拥有的: function colorChange(){ var b = $('body').css('background-image'); if (b $==='-dark.png'){ $("nav

我正在尝试根据页面的
背景图像更改字体的颜色

我已经浏览了我能找到的每一篇关于这一点的帖子,但我无法找出适合我的特定应用程序的正确语法

我正在尝试编写一个函数,该函数表示“如果
body
背景图像
以“-dark.png”结尾,则将类
.dark
添加到
nav

以下是我所拥有的:

function colorChange(){
    var b = $('body').css('background-image');

    if (b $==='-dark.png'){
        $("nav").addClass("dark");
    }
}

非常感谢您的帮助!

在JS中,
$=
运算符无效。要确定字符串是否以特定字符集结尾,可以使用正则表达式:

function colorChange(){
    var b = $('body').css('background-image');
    if (b.test(/-dark.png$/i)) {
        $("nav").addClass("dark");
    }
}
或者也
substr()

您需要使用正则表达式:

function colorChange(){
    var b = $('body').css('background-image');
    if(b.match(/-dark.png"\)$/)){
        $("nav").addClass("dark");
    }
}

我在
$
之前添加了
“\)
,因为这就是这个字符串(url)的结尾。

我认为您不能使用结尾,因为图像url将被包装在
url()
中,所以您可以检查
indexOf()

你好,马克·普法夫, 根据我对你的问题的理解,这是你的答案,它可能会解决你的目的

      function colorChange(){
            var b = $('body').css('background-image');
            b = b.replace('url("','').replace('")','');
            b = b.substr(b.lastIndexOf('/') + 1);
            if (b === 'dark.png'){
                $('nav').addClass("dark");
            }
        }
希望对你有帮助

function colorChange() {
    var b = $('body').css('background-image');

    if (b.indexOf('-dark.png') > -1) {
        $("nav").addClass("dark");
    }
}
      function colorChange(){
            var b = $('body').css('background-image');
            b = b.replace('url("','').replace('")','');
            b = b.substr(b.lastIndexOf('/') + 1);
            if (b === 'dark.png'){
                $('nav').addClass("dark");
            }
        }