Javascript 使用JS捕获HTML li值

Javascript 使用JS捕获HTML li值,javascript,html,css,Javascript,Html,Css,我想创建一个JS函数来捕获“已完成任务”无序列表中每个li元素的“值”属性。我还希望它将这些值相加 我的html: <ul id="completed-tasks"> <li value="1"><label>item 1</label></li> <li value="2"><label>item 2</label></li> <li value="3"&g

我想创建一个JS函数来捕获“已完成任务”无序列表中每个li元素的“值”属性。我还希望它将这些值相加

我的html:

<ul id="completed-tasks">
    <li value="1"><label>item 1</label></li>
    <li value="2"><label>item 2</label></li>
    <li value="3"><label>item 3</label></li>
</ul>
    第1项 第2项 第3项
我的javascript函数:

var totalValue = function(){
    //cycle over ul items
    for (var i=0; i<completedTasksHolder.children.length; i++){
    //I want to capture 'value' of each li here
    }   
    //I want to add values here
}
var totalValue=function(){
//在ul项目上循环
对于(var i=0;i尝试以下方法:

var totalValue = function () {
    //cycle over ul items
    var completedTasksHolder = document.getElementById("completed-tasks");
    var total = 0;
    for (var i = 0; i < completedTasksHolder.children.length; i++) {
        //I want to capture 'value' of each li here
        var v = parseInt(completedTasksHolder.children[i].getAttribute("value")); //parseInt for string to number conversion
        total += v;
    }
    //I want to add values here
    console.log(total);
}
totalValue();
var totalValue=函数(){
//在ul项目上循环
var completedTasksHolder=document.getElementById(“已完成的任务”);
var合计=0;
for(var i=0;i

演示:

这将完成您要查找的内容。它假定值始终可以转换为数字(如果没有转换,将导致NaN)

函数总数(){
var completedTasks=document.getElementById('completed-tasks'),
总数=0;
对于(var i=0;i
  • 项目1
  • 项目2
  • 项目3

那行“parseInt for string to number conversion”正是我想要的。谢谢!谢谢!我是JS新手,使用.value与使用.getAttribute(“value”)有何不同?@TyRoderick这就解释了这一点