Как получить переменную из div в HTML - PullRequest
0 голосов
/ 03 июня 2011

У меня есть следующие div в HTML, которые выглядят так:

<div id="data">
  <div class="img"><img src="imageurl_1"></div>
  <div class="img"><img src="imageurl_2"></div>
  <div class="img"><img src="imageurl_3"></div>
  <div class="img"><img src="imageurl_4"></div>
</div>

Каков наилучший способ извлечь src-изображения в переменную перед отправкой через POST?

Ответы [ 7 ]

1 голос
/ 03 июня 2011
var src_url = $('img').attr('src');
0 голосов
/ 15 мая 2016
$('img').each(function(idx, elem){
 elem.attr('src'); 
});
0 голосов
/ 03 июня 2011

В духе использования jQuery, вот тот, который использует jQuery $ .map () для создания массива javascript и $ .param () для его параметризации.

$.param(
    $('div.img img')
        .map(function(i) { return  { name: 'img'+i, value: $(this).attr('src')}; })
);

Ваш результат будет:

"img0=imageurl_1&img1=imageurl_2&img2=imageurl_3&img3=imageurl_4"

Замените «img» + i своим именем или идентификатором для своих нужд.

0 голосов
/ 03 июня 2011

Я бы построил объект JavaScript, а затем отправил бы его непосредственно на $.post()

data = {};

$("#data img").each(function(eIndex, e){
  data["img"+eIndex] = $(e).attr("src");
});

$.post("/some/path.php", data, fn);
0 голосов
/ 03 июня 2011
var get="?";
$("#data img").each(function(index){
   get += "img"+(index+1)+"="+$(this).attr("src")+"&";
});
get = get.slice(0, -1);
0 голосов
/ 03 июня 2011

Все они одновременно для любого в div.img?Не уверен, как вы хотите отформатировать, но вы можете получить доступ к значению, как это:

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

Если вам нужно что-то сделать со всеми из них, вы можете использовать что-то вроде этого:

0 голосов
/ 03 июня 2011

Как-то так?

var urls = '';
$('div.img > img').each(function(i) {
       urls = urls + ' ' + $(this).attr('src');
});
alert(urls);  // should contain all urls

работает jsfiddle: http://jsfiddle.net/gfosco/bWZKp/

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