我几天来一直在寻找一种方法来做到这一点,并尝试合并我在这里找到的答案,但似乎无法解决这个问题。
var found = {};
$("[user]").each(function(){
var total = 0;
var $this = $(this);
var rel = $this.attr("user");
if(found[rel]){
total += parseInt($this.id, 10);
}else{
found[rel] = true;
}
$(this).attr("id",total);
});
基本上我想找到所有共享相同“user”属性值的div并将它们的“id”值添加在一起。如果有人可以伸出援手,我将非常感激!
谢谢!
这是我正在操作的代码:
<div class="stream">
<div class="listProfileHolder" id="3" user="57f4bbc36f813"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f3cfa7cd376"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f4bbc36f813"></div>
</div>
最佳答案
从你的问题中我了解到,你想找到所有具有相同值的div并获取这些值的id。
根据您的需要,将 map()
或 each()
与 $('div[value="user"]')
结合使用需要。
var id = $('div[value="user"]').map(function(){
return $(this).attr('id');
}).get().join(',');
console.log(id);
var total=0;
$('div[value="user"]').each(function(){
total += parseInt($(this).attr('id'));
});
var id = $('div[value="user"]').map(function(){
return $(this).attr('id');
}).get().join(',');
console.log(id);
var total=0;
$('div[value="user"]').each(function(){
total += parseInt($(this).attr('id'));
});
console.log(total);
var total=0;
$('div.stream > div.listProfileHolder').each(function(){
total += parseInt($(this).attr('id'));
});
console.log(total);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div value="user" id="10"></div>
<div value="user" id="20"></div>
<div value="user" id="30"></div>
<div id="user4"></div>
<div class="stream">
<div class="listProfileHolder" id="3" user="57f4bbc36f813"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f3cfa7cd376"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f28454a6d65"></div>
<div class="listProfileHolder" id="1" user="57f4bbc36f813"></div>
</div>
关于javascript - Jquery查找具有相同属性值的所有div并将它们的id值加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40016848/