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

我们说我有:

 

使用jQuery,我怎么能得到blue数据?

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

这里有几个问题 – 本地文件可能在路径名中使用其他斜杠(’\’),并且某些文件名可以定义哈希或搜索尾部,或者没有扩展名。

 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()); 

Regex将成为你最好的朋友……

var filename = fullUri.replace( /^.*?([^\/]+)\..+?$/, '$1' );

只需拆分字符串:

 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" 
 var src = $('img').attr('src').split('/'); var file = src[src.length - 1]; 

应该管用

说我们有:

  

这是我们提取文件名的方法:

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

结果:

 console.log(name); // foobar 
 src = $('img').attr('src'); src_array = src.split('/'); src = src_array[src.length-1]; 
 var src= $('img').attr('src'); var name = src.match(/static\/images\/banner\/(.*)\.jpg/)[1];