как изменить все значения div на странице - PullRequest
0 голосов
/ 29 января 2010

у меня есть три div на странице с одинаковыми идентификаторами

<div id="downloaded">1200</div>

Теперь, когда я вызываю функцию downloadThis («имя файла», «divID»); я хочу, чтобы значение каждого div с идентификатором "Downloaded" должно измениться, я использую jquery. Пожалуйста, помогите.

Ответы [ 5 ]

4 голосов
/ 29 января 2010

Недопустимо иметь более одного элемента на странице с одинаковым идентификатором.

Для установки значения вы можете использовать функцию html :

$('#downloaded').html('new value');>

Более семантически верный способ добиться этого - присвоить divам имя класса и использовать селектор класса:

<div class="downloaded">123</div>

$('.downloaded').html('new value');
0 голосов
/ 29 января 2010

Хорошо, я назначил разные значения для DIV, например.

<div id="song1Downloads">1500</div>

Теперь этот div с двух сторон слева и по центру. Перед обоими находится кнопка загрузки, нажатие которой выполняется следующий код,

function downloadIt(file,divName){
  var i = parseInt($("#"+divName).text());
  var updated = i+1;
  //alert('#'+divName+'');
  $("#"+divName).html("<b><u>"+(updated)).hide().fadeIn("fast");
  setTimeout(function(){ $("#downloadBar").slideDown("fast") }, 700);
  setTimeout('tryToDownload("new.php?fileName='+file+'")', 400);
  setTimeout(function(){ $("#downloadBar").slideUp("fast") }, 5000);
}

Но все равно он не обновляет, обновляется только 1 DIV на левой стороне !!

0 голосов
/ 29 января 2010

Я бы изменил идентификатор, чтобы он был уникальным, и, возможно, вы можете указать в качестве идентификатора либо общее имя_класса, либо загруженные_1, загруженные_2, загруженные_3.

Если вы выберете последнее решение, вы можете получить элементы по:

var elems = $('div').filter(function() {
    return this.id.match(/downloaded/)})

Затем вы можете использовать функцию html, чтобы установить их, или делать все что угодно.

0 голосов
/ 29 января 2010

Если я не ошибаюсь, идентификатор должен быть уникальным. Но то, чего вы хотите достичь, можно сделать с помощью атрибута класса

$('.downloaded').toggleClass('.done')
0 голосов
/ 29 января 2010
function downloadThis(a, b) {
    $("#downloaded").text(b);
}

Но, как упоминал Джеймс Блэк, все ваши идентификаторы должны быть уникальными на странице. Я бы изменил его на имя класса примерно так:

<div class="downloaded">...</div>

function downloadThis(a, b) {
    $(".downloaded").text(b);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...