我想获取此字符串的01
以便稍后编辑链接。
<img src="/images/cool/stuff/1/01.jpg">
我可以获得与
的完整链接var src_link = document.getElementsByTagName("img").src;
但我怎样才能在/
之后和.jpg
之前结束?
答案 0 :(得分:0)
src_link.split('/').pop().split('.')[0]
第一个分割返回斜杠之间的部分数组。
pop()
返回该数组的最后一个元素。
第二次拆分返回一个包含["O1", ".jpg"]
[0]
接受该数组的第一个元素,即你想要的东西。
编辑:小心,正如安德烈亚斯所建议的,document.getElementsByTagName('img')
会返回一个特殊的arraylike对象,您需要document.getElementsByTagName('img')[0]
或任何其他方式来选择您想要的对象。
答案 1 :(得分:0)
您可以使用jQuery并使用split()方法。
var data = '<img src="/images/cool/stuff/1/01.jpg">'
var arr = data.split('/');
然后你可以使用分割的最后一部分并再次分割。
詹姆斯
答案 2 :(得分:0)
var a=document.getElementsByTagName("img");
var b=a[0].src;
var c=b.split("/");
var d= c[c.length-1].split(".");
该值将在d [0]
中答案 3 :(得分:0)
您可以使用正则表达式:
.*\/(.*)\.jpg
这将匹配最后/
和.jpg
之间的所有内容(请参阅online at regex101)。
样品使用:
var input = "/images/cool/stuff/1/01.jpg";
var match = input.match(/.*\/(.*)\.jpg/);
if (match) {
document.getElementById('result').innerHTML = match[1];
}
&#13;
<div id="result"/>
&#13;
答案 4 :(得分:0)
注意:如果您的扩展程序是jpg且.jpg
之前的字符串只有两个字符,则此解决方案将起作用。如果你想要一个通用的解决方案,那么你需要进一步调整它。
您可以使用切片字符串的简单解决方案。使用slice()
方法。
document
之前使用getElementsByTagName
。getElementsByTagName
将为您提供类似于数组的HTMLCollection,您需要像数组一样访问它。直接访问src
属性将无效。src_link
后,只需切片您要查找的值即可。这里的负数指数意味着你从字符串的结尾开始,而不是从开始。
var src_link = document.getElementsByTagName("img")[0].src;
var val = src_link.slice(-6, -4);
console.log(val);
&#13;
<img src="/images/cool/stuff/1/01.jpg">
&#13;