Как прибавить все значения атрибутов вместе?
К примеру есть такой HTML код:
<div class=content>
<ol>Pages List</ol>
<p class=list views=10>Example - 1</p>
<p class=list views=4>Example - 2</p>
<p class=list views=7>Example - 3</p>
</div>
И JS код подобного типа:
(function() {
'use strict';
let totalViews = $('p[views]').???;
if (totalViews > 0) {
$('div.content ol:first').append('<span style="font-size: 15px;color: rgb(191, 191, 191);"> [' + totalViews + ' Total Views ]</span>');
} else {
$('div.content ol:first').append('<span style="font-size: 15px;color: rgb(213, 79, 79);"> [ Unexpected error! ]</span>');
}
})();
И как при таких условиях сосчитать общее кол-во views?(jQuery не является проблемой как и сторонние библиотеки главное оставьте соответствующие ссылки)
Ответы (2 шт):
Автор решения: Aleksandr Belous
→ Ссылка
И как при таких условиях сосчитать общее кол-во views?
const lists = document.querySelectorAll('.list');
const viewsCount = [...lists].reduce((acc, el) => {
return acc + parseInt(el.getAttribute('views'));
}, 0);
console.log(viewsCount); // 21
Автор решения: ΝNL993
→ Ссылка
Если вы собираетесь использовать jQuery, то тогда вот так:
let totalViews = 0
$('p.list[views]').each((_, e) => {
totalViews +=+ $(e).attr('views')
})
console.log(totalViews)
alert(totalViews)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<div class=content>
<ol>Pages List</ol>
<p class="list" views="10">Example - 1</p>
<p class="list" views="4">Example - 2</p>
<p class="list" views="7">Example - 3</p>
</div>
Если же хотите на обычном JavaScript, то вот тогда:
let totalViews = 0
document.querySelectorAll('p.list[views]').forEach(e => {
totalViews +=+ e.getAttribute('views')
})
console.log(totalViews)
alert(totalViews)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<div class=content>
<ol>Pages List</ol>
<p class="list" views="10">Example - 1</p>
<p class="list" views="4">Example - 2</p>
<p class="list" views="7">Example - 3</p>
</div>
В дальнейшем старайтесь не использовать кастомные атрибуты без приписки data-, в целом кастомные атрибуты в HTML принято писать так data-your-attribute-name.