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");
}
}