如何更改页面上的所有div值

时间:2010-01-29 08:05:21

标签: jquery html download

我在同一个ID的页面上有三个div

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

现在我调用函数downloadThis(“filename”,“divID”);我希望id为“Downloaded”的每个div的值都应该改变,我使用的是jquery。请帮助。

5 个答案:

答案 0 :(得分:4)

在页面上具有多个具有相同ID的元素无效。

要设置值,您可以使用html函数:

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

<击>

实现此目的的语义更正确的方法是为div分配一个类名并使用类选择器:

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

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

答案 1 :(得分:0)

function downloadThis(a, b) {
    $("#downloaded").text(b);
}

但正如James Black所说,你的ID元素在页面上应该都是唯一的。我会把它改成像这样的类名:

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

function downloadThis(a, b) {
    $(".downloaded").text(b);
}

答案 2 :(得分:0)

如果我没弄错的话,我需要独一无二。但是你想要实现的目标可以通过使用class属性

来完成
$('.downloaded').toggleClass('.done')

答案 3 :(得分:0)

我会将id更改为唯一,也许你可以输入一个公共className,或者将download_1,downloaded_2,downloaded_3作为id。

如果您使用后一种解决方案,那么您可以通过以下方式获取元素:

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

然后你可以使用html函数来设置它们,或者做任何你想做的事情。

答案 4 :(得分:0)

好的我已经为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);
}

但是它仍然不会更新DIV,左侧只有1个div更新!!