在div中添加或删除后缀以映像URLS

时间:2016-06-08 18:06:16

标签: javascript jquery string url append

我正在寻找在.click函数上使用所需的代码。我有一个黑暗,明亮的主题切换器,我想在点击黑暗时将_dark添加到某个div(.the-images)中的所有图像网址,并在点击光时从图像URL中删除_dark。

所以url默认情况下是lalalalala.jpg,或者点亮时是lalalalala_dark.jpg。

澄清.the-images div中约有20张图像。它们都有不同的URL,但我想添加到click功能,以便在点击黑暗时将_dark添加到.jpg之前的URL。

更新

因此我建议将黑暗图像放在/ dark目录中,这样我只需要更改URL的一部分。这些图像有各种各样的例子在网站上使用,但总是在一个名为“the-images”的div中。

所以代码需要

$(".light").click(function() {
 ### needs /images/name.png for all images in "the-images" div ###
}

$(".dark").click(function() {
 ### needs /images/dark/name.png for all images in "the-images" div ###
}

这就是我现在需要的代码。感谢所有帮助

这被其他一些人标记为重复,但我没有看到任何有关如何更改指定div内多个图片网址的部分的问题。谢谢。为了澄清我已经有风格切换器(身体类根据用户点击切换黑暗和光线)。我现在需要找到一种方法,如果暗主题打开,'the-images'中的所有图像(其中有20多个)都在/ dark目录中。感谢。

1 个答案:

答案 0 :(得分:0)

仅JavaScript解决方案

如果所有图片都在img中,那么dark中的所有img/dark图片都会包含var normal = "img/icon-1.png" console.log(normal) var dark = normal.replace('img/','img/dark/') console.log(dark) ,只需更改相对路径而不是文件名。

<img class="normal" src="img/icon-1.jpg" />

这是一种天真的方式,可以用JavaScript来完成主题

JavaScript和CSS解决方案

.normal {
  content: url(img/icon-1.jpg);
}

.dark{
  content: url(img/dark/icon-1.jpg);
}
<div>

然后你只需用JavaScript更改类。

执行特定<div>

中的所有图像

使用相应的选择器,选择所需的<img>并循环显示生成的normal标记,并将dark类替换为function theme(fromTheme,toTheme) { $('.target-div').children('img').map(function(){ $(this).addClass(fromTheme); $(this).removeClass(toTheme); }); }

这样的事情:

SELECT product_name, COUNT(*) from <table> GROUP BY 1 IGNORE CASE