我在同一个ID的页面上有三个div
<div id="downloaded">1200</div>
现在我调用函数downloadThis(“filename”,“divID”);我希望id为“Downloaded”的每个div的值都应该改变,我使用的是jquery。请帮助。
答案 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更新!!