Подтвердить что ты не робот

Как получить имя изображения с помощью jQuery?

Пусть говорит, что у меня есть:

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

Используя jQuery, как я могу получить данные blue?

Если я использую $('img').attr('src'), я могу получить весь URI. В этом случае, что лучший способ удалить расширение и весь путь?

4b9b3361

Ответ 1

Здесь есть пара: локальные файлы могут использовать другую косую черту ('\') в имени пути, а некоторые имена файлов могут содержать хеш или поисковые хвосты или не иметь расширение.

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

Ответ 2

Regex будет вашим лучшим другом здесь...

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

Ответ 3

Просто разделите строку:

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"

Ответ 4

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

Должен работать

Ответ 5

Скажем, что у нас есть:

<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

Ответ 6

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

Ответ 7

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

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