Javascript 如何使用jQuery仅更改图像源的路径?
我正在尝试将暗模式功能添加到我的网站,div和其他对象的一切都很好,但我无法更改图像的唯一路径 我有两个文件夹用于暗和常规图像,每个文件夹包含相同名称的相同文件,但仅针对网站的暗和常规模式进行编辑,因此我想将src更改为../assets/imgs/regular/filename.jpg改为../assets/imgs/dark/samefilename.jpgJavascript 如何使用jQuery仅更改图像源的路径?,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我正在尝试将暗模式功能添加到我的网站,div和其他对象的一切都很好,但我无法更改图像的唯一路径 我有两个文件夹用于暗和常规图像,每个文件夹包含相同名称的相同文件,但仅针对网站的暗和常规模式进行编辑,因此我想将src更改为../assets/imgs/regular/filename.jpg改为../assets/imgs/dark/samefilename.jpg 我是个新手,所以请简单回答。选择图像标签,用Jquery.attr更改src属性 如果您想用jQuery实现这一点,尽管您也可以用v
我是个新手,所以请简单回答。选择图像标签,用Jquery.attr更改src属性
如果您想用jQuery实现这一点,尽管您也可以用vanilla js实现,那么应该使用jQuery的attr函数 例如,如果您的图像id为myImage,只需编写: $myImage.attr'src','../assets/imgs/dark/samefilename.jpg' 这会将常规图像的路径更改为暗图像 但我想你也希望它在你关闭黑暗模式后恢复 所以这里加上if-else是完美的。例如:
$("#darkModeButton").on('click',function(){
if($("#myImage").attr('src') == '../assets/imgs/regular/filename.jpg'){
$("#myImage").attr('src','../assets/imgs/dark/samefilename.jpg');
}
else {
$("#myImage").attr('src','../assets/imgs/regular/filename.jpg');
}
}
这只是一个虚构的例子,我假设你有一个以上的图像,你想替换为一个黑暗的
希望我能帮上一点忙。听起来你需要帮忙 循环你的图像 拉动每个SRC属性 是否执行正则表达式查找/替换 i、 e.设置为暗模式时,类似于此:
jQuery('img').each(function(){
jQuery(this).attr('src', jQuery(this).attr('src').replace(/assets\/imgs\/regular/i, 'assets/imgs/dark'))
});
请张贴一个可复制的例子。所以人们更容易回答。如果适合的话,您还可以包括一个Codepen或JSFiddle。$img,attr'src','../assets/imgs/dark/samefilename.jpg';-简单的例子我很抱歉我忘了这么做,但是问题已经解决了,但是谢谢你的警告我喜欢你的解决方案,尽管他可以用includes方法简单地替换它们,也可以用同样的方法将图片还原为浅色图片。我想这对他来说会更容易,因为他说他对JS真的很陌生,所以我猜他还不懂正则表达式:非常感谢!这正是我想要的。公平地说,你可能不需要正则表达式,它们只是更具容错性`替换“/regular/”、“/dark/”也就足够了。
jQuery('img').each(function(){
jQuery(this).attr('src', jQuery(this).attr('src').replace(/assets\/imgs\/regular/i, 'assets/imgs/dark'))
});