我正在尝试根据页面的background-image
更改字体的颜色。
我查看了我能找到的有关此内容的每个帖子,但我无法弄清楚我的具体应用程序的正确语法。
我正在尝试编写一个函数,上面写着“如果background-image
的{{1}}以”-dark.png结尾“将类body
添加到.dark
。
这就是我所拥有的:
nav
我感谢任何帮助!
答案 0 :(得分:2)
$==
运算符在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');
var match = '-dark.png';
if (b.length > match.length && b.substr(-match.length) == match) {
$("nav").addClass("dark");
}
}
答案 1 :(得分:0)
您需要使用正则表达式:
function colorChange(){
var b = $('body').css('background-image');
if(b.match(/-dark.png"\)$/)){
$("nav").addClass("dark");
}
}
我在"\)
之前添加了$
,因为这就是此字符串(网址)结束的方式。
答案 2 :(得分:0)
我认为您不能使用结尾,因为图片网址会被url()
包裹,因此您可以查看indexOf()
function colorChange() {
var b = $('body').css('background-image');
if (b.indexOf('-dark.png') > -1) {
$("nav").addClass("dark");
}
}
答案 3 :(得分:0)
Hello Mark Pfaff,你好 根据我对你的问题的理解,这是你的答案,它可以解决你的目的
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");
}
}
希望它会帮助你..