如何使用jQuery获取图像名称?

ac1kyiln  于 2023-01-12  发布在  jQuery
关注(0)|答案(7)|浏览(190)

假设我有:

<img src='static/images/banner/blue.jpg' />

使用jQuery,我如何获得blue数据?
如果我使用$('img').attr('src'),我可以得到整个URI。在这种情况下,删除扩展名和所有路径的最佳方法是什么?

kognpnkq

kognpnkq1#

这里有两个陷阱-本地文件可能在路径名中使用另一个斜杠(''),一些文件名可能定义了哈希或搜索尾,或者没有扩展名。

String.prototype.filename=function(extension){
    var s= this.replace(/\\/g, '/');
    s= s.substring(s.lastIndexOf('/')+ 1);
    return extension? s.replace(/[?#].+$/, ''): s.split('.')[0];
}

console.log($('img').attr('src').filename());
dw1jzc5e

dw1jzc5e2#

var src = $('img').attr('src').split('/');
var file = src[src.length - 1];

应该可以

busg9geu

busg9geu3#

只需拆分字符串:

var src = $('img').attr('src'); // "static/images/banner/blue.jpg"
var tarr = src.split('/');      // ["static","images","banner","blue.jpg"]
var file = tarr[tarr.length-1]; // "blue.jpg"
var data = file.split('.')[0];  // "blue"
0sgqnhkj

0sgqnhkj4#

正则表达式将是您在这里最好的朋友...
var filename = fullUri.replace( /^.*?([^\/]+)\..+?$/, '$1' );

qkf9rpyu

qkf9rpyu5#

假设我们有:

<img src="path/to/awesome/image/foobar.jpg" />

下面是我们如何提取文件名:

Array.prototype.filename = function() {
   var tmp = this.split('/');
   return tmp[tmp.length-1].match(/(.*)\.[\w]+$/)[1];
});

$('img').attr('src').filename();

结果:

console.log(name); // foobar
y0u0uwnf

y0u0uwnf6#

src = $('img').attr('src');
src_array = src.split('/');
src = src_array[src.length-1];
vpfxa7rd

vpfxa7rd7#

var src= $('img').attr('src');

var name = src.match(/static\/images\/banner\/(.*)\.jpg/)[1];

相关问题