我想用jquery与图像的src分别提取带有路径及其扩展名的文件名。
例如:
<img src="images/cat/kitty.gif" id="myimg" />
我需要从上面的代码中获取“images / cat / kitty”和“.gif”。
我该怎么办?
答案 0 :(得分:5)
您只需使用attr
方法:
$('#image_id').attr('src');
如果您想单独使用名称和扩展名,可以执行以下操作:
var arr = $('#image_id').attr('src').split('.');
alert(arr[0]); // name
alert(arr[1]); // extension
答案 1 :(得分:5)
仅提取文件名:
var name = $('#myimg').attr("src");
var parts = name.split('/');
name = parts[parts.length-1];
答案 2 :(得分:4)
不需要正则表达式。使用.split()
:
var ret = $('#myimg').attr('src').split(/\./);
console.log(ret[0]); // === 'images/cat/kitty'
console.log(ret[1]); // === 'gif'
答案 3 :(得分:1)
如果您有一个使用多个“。”的复杂图像路径。例如 -
http://website.com/app/folder/imagemanager.php../../../user_images/2982034/images/image.png
虽然您可以事先清理路径,但如果没有,可以尝试使用jQuery -
// Get the source
var image_src = $(el).attr('src');
// Get the extension. As mentioned above, using split() and pop()
var extension = image_src.split('.').pop();
// Get just the path. Replace the extension with ''
var path = image_src.replace('.'+extension,'');