我有jQuery的这行代码来获取图片src
的{{1}}所以,我相信你们都知道它会返回类似$(this).find("img").attr("src")
是否有任何此类声明可以允许我抓取没有文件扩展名的网址:http://www.mysite.com/this.image.png
所以我可以为网址添加一些内容,例如http://www.mysite.com/this.image
以获取图片预览文件或{{ 1}}用于大图像等。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:2)
试试这个:
var img = $(this).find("img").attr("src");
img = img.substring(0,img.lastIndexOf("."));
答案 1 :(得分:1)
您可以使用:
var url = $(this).find("img").attr("src");
var parts = url.match(/(.*)\.([^\\/]+)$/);
console.log(parts[0]); # => http://www.mysite.com/this.image
console.log(parts[1]); # => png
console.log(parts[0] + '.big.' + parts[1]);
#=> http://www.mysite.com/this.image.big.png
正则表达式说明:
(.*) // capture all the characters before
\. // .. a dot character
([^\\/]+)$ // capture any characters afterwards (that are not `\` or `/`)
答案 2 :(得分:1)
查看JavaScript substring()
函数的this教程。它允许您从字符串中提取字符。它应该看起来像这样(未经测试):
var url = $(this).find("img").attr("src");
var urlLength = url.length -4; //The -4 is for the last 4 chars. Example ".png"
url = url.substring(0, urlLength);
我希望这有帮助!