javascript - Jquery查找具有相同属性值的所有div并将它们的id值加在一起

标签 javascript jquery html

我几天来一直在寻找一种方法来做到这一点,并尝试合并我在这里找到的答案,但似乎无法解决这个问题。

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/

相关文章:

javascript - 如果 html 表中的字符串 == 带有 Javascript 的内容则显示按钮

javascript - 可拖动的 Highcharts SVG 元素

jquery - 通过异步 Controller 从浏览器进行 Ajax 调用

html - 向左浮动导致页面包装器折叠

javascript - 将路径参数传递给 React 上下文提供者

javascript - 从列表中删除值

javascript - 在 ReactJs 中添加多个 div 或渲染

javascript - 使用jquery slider angularjs范围值没有改变

javascript - 在 AngularJS 中选择选项返回对象而不是值

html - Angular:如何使用元服务添加或更新元标签以进行 SEO