【发布时间】:2013-03-28 10:40:23
【问题描述】:
假设我有一个字符串数组。我想在每个字符串前面加上一个固定的(通用)字符串。 我知道在 Javascript 中,字符串可以像 strM = str1 + str2 + str3 + ... + strN 或 strM = concat(str1, str2, str3, ..., strN) 一样连接。考虑这段代码。
var defImgDirPath = 'res/img/';
$([
'home-icon-dark.png',
'home-icon-light.png'
]).each(function() {
/*
* Prepend each string with defImgDirPath
*/
});
现在我做不到this = defImgDirPath + this;(我笨到想试试)
另外,我尝试了return (defImgDirPath + this);,但这也不起作用。
我在想像this.prependString(defImgDirPath); 这样的函数,但是这样的函数存在吗?如果没有,怎么写?
注意:我知道它也可以通过 for 循环轻松简单地完成,但这样做有什么乐趣呢? :)
【问题讨论】:
-
我可能对您的问题感到困惑,但是当您需要使用它时,您将路径放入什么?您是否尝试在 img 标签中使用它?如果路径前缀是常量,你可以在需要使用它的时候连接它吗?
-
你必须将参数传递给
.eachjsfiddle.net/hj2XJ -
使用 jQuery 并不总是有意义...当您可以使用常规 js 时,您应该这样做。
-
Vanilla js 就好了。当我从 Prototype 迁移到 jQuery 时,除了使用 vanilla js 编写的部分之外,我不得不进行一些重写。 for循环有什么问题?
-
@Bmo:我正在尝试预加载图像。有一个图标
home-icon-dark.png。悬停时,图标会更改(转换)为home-icon-light.png。当图标第一次悬停时,浏览器开始获取home-icon-light.png,效果就毁了。虽然它一旦被提取就可以正常工作。我将通过创建一个 JavascriptImage()s 数组来预加载home-icon-light.png,同时获取其余 DOM 元素,因此当图标第一次悬停时,home-icon-light.png已经被获取并且转换将无缝。 :)
标签: javascript jquery string each prepend