lep*_*pix 14 javascript jquery
我们说我有:
<img src='static/images/banner/blue.jpg' />
Run Code Online (Sandbox Code Playgroud)
使用jQuery,我怎样才能获得blue数据?
如果我使用$('img').attr('src'),我可以得到整个URI.在这种情况下,删除扩展和所有路径的最佳方法是什么?
ken*_*bec 24
这里有一些问题 - 本地文件可能在路径名中使用另一个斜杠('\'),并且一些文件名可以定义哈希或搜索尾部,或者没有扩展名.
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());
Run Code Online (Sandbox Code Playgroud)
只需拆分字符串:
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"
Run Code Online (Sandbox Code Playgroud)
var src = $('img').attr('src').split('/');
var file = src[src.length - 1];
Run Code Online (Sandbox Code Playgroud)
应该管用
假设我们有:
<img src="path/to/awesome/image/foobar.jpg" />
Run Code Online (Sandbox Code Playgroud)
这是我们提取文件名的操作:
Array.prototype.filename = function() {
var tmp = this.split('/');
return tmp[tmp.length-1].match(/(.*)\.[\w]+$/)[1];
});
$('img').attr('src').filename();
Run Code Online (Sandbox Code Playgroud)
结果:
console.log(name); // foobar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39083 次 |
| 最近记录: |