Как получить все изображения из тега img и фоновые изображения со страницы HTML с помощью JQuery? - PullRequest
7 голосов
/ 27 декабря 2011

Я хочу получить все изображения со страницы HTML.хотите получить все изображения из <img> источника тегов или получить изображения из фона элемента из содержимого HTML.

Как получить?

Ответы [ 4 ]

11 голосов
/ 27 декабря 2011

Вы можете просто перебрать все элементы на странице и проверить, является ли оно изображением или имеет какой-либо фоновый рисунок. Самая большая проблема этого решения заключается в том, что оно очень медленное (однако его производительность можно улучшить несколькими способами). Вот код:

$('*').each(function(){ 
    var backImg;

    if ($(this).is('img')) {
        console.log($(this).attr('src'));
    } else {
        backImg = $(this).css('background-image');
        if (backImg != 'none') console.log(backImg.substring(4, backImg.length-1));
    }
});
5 голосов
/ 27 декабря 2011

для получения изображений из всех тегов изображения. Я думаю, что вы можете просто перебрать тег изображения


$('img').each(function(){
alert($(this).attr('src'));
});

для получения всех фоновых изображений, вам придется искать свойство background во всех элементах..


$('*').each(function(){
alert($(this).css('background-image'));
});
2 голосов
/ 27 декабря 2011

Для получения изображений из тега img используйте это

var images = [];
$("img").each(function(){
    if(this.src){images.push(this.src);}
});
$('*').each(function(){
    var bg = $(this).css('background-image');
    if( bg && bg != 'none'){images.push(bg);}
});
0 голосов
/ 27 декабря 2011

Выберите все теги на странице с помощью $('img'). Чтобы найти все фоновые изображения из содержимого HTML, вам нужно пройтись по каждому элементу, проверить, имеет ли он свойство CSS background-image, и, если это так, записать значениеэтой собственности.Я думаю, что это будет выглядеть примерно так:

$('*').each(function() {
   if ($(this).css('background-image') != '')
   //record however you're recording it
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...