【发布时间】:2016-04-11 10:22:36
【问题描述】:
我想在最后一次出现字符时拆分attribute,然后添加一个字符串并将数组重新连接在一起。这是一个简化的demo。
在演示中,我想在. 的最后一次出现处拆分src 属性,然后将-fx 添加到src 路径中。
原src属性
src="extension.jpg"
src="ext.ension.jpg"
我希望得到什么
src="extension-fx.jpg"
src="ext.ension-fx.jpg"
更具体地说,问题是如果我split('.') 和路径有多个. 出现问题(-fx 未正确添加)。
$('img').each(function(){
var a = $(this).attr('src');
var b = a.split('.')
var c = b[0] + '-fx' + '.' + b[1];
console.log(c);
$(this).attr('src', c);
});
img {
height: 100px;
width: 100px;
background: red;
}
img[src*="-fx.jpg"] {
background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<img src="extension.jpg">
<img src="ext.ension.jpg">
【问题讨论】:
-
你能添加一个输入字符串和预期输出的例子
-
@Tushar 在演示中有一个例子,但我也会在这里添加到帖子中
-
为什么不直接用
.jpg分割,然后用-fx加回来? -
@l'L'l 因为,图片的扩展名可以是
.png或.gif或.jpeg。 -
@Tushar:即便如此,一个简单的正则表达式也可以处理...
lastIndexOf可能是一个更好的解决方案。
标签: javascript jquery css regex