Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cloneNode和所有节点(父节点和子节点)的总值。Javascript_Javascript - Fatal编程技术网

cloneNode和所有节点(父节点和子节点)的总值。Javascript

cloneNode和所有节点(父节点和子节点)的总值。Javascript,javascript,Javascript,我想合计所有输入的值,但在开始时只有一个输入元素,您可以使用按钮添加克隆。其实我有两个问题: 1.如何将克隆节点始终放在它前面的节点下。 2.如何合计所有节点的值 代码如下: 函数nambahData(){ var a=document.getElementById(“harga”); var b=a.cloneNode(假); 文件.getElementById(“表格”).appendChild(b); } 函数ditotal(){ var x=document.getElementB

我想合计所有输入的值,但在开始时只有一个输入元素,您可以使用按钮添加克隆。其实我有两个问题: 1.如何将克隆节点始终放在它前面的节点下。 2.如何合计所有节点的值

代码如下:

函数nambahData(){
var a=document.getElementById(“harga”);
var b=a.cloneNode(假);
文件.getElementById(“表格”).appendChild(b);
}
函数ditotal(){
var x=document.getElementById(“harga”).value;
var y=document.getElementById(“harga”).childNode.value;
document.getElementById(“total”).value=parseInt(x)+parseInt(y);
}



添加数据
全部

希望这对你有帮助

window.nambahData=function(){
var a=document.getElementsByName(“harga”);
var b=a[0]。克隆节点(false);
文件.getElementById(“表格”).appendChild(b);
}
window.ditotal=函数(){
var totalItems=0;
对于(i=document.getElementsByName(“harga”).length-1;i>=0;i--)
{
var item=document.getElementsByName(“harga”)[i];
totalItems+=parseFloat(项值);
}
document.getElementById(“total”).value=totalItems;
}
.inputStyle{
显示:块;
}

添加数据

全部
请参见此处将克隆放置在所需位置。谢谢。。这解决了我的第一个问题!但是第二个呢D
var inputElems=document.getElementById('form').getElementsByTagName('input')后接
var total=0,i,n=inputElems.length之后是一个循环<代码>用于(i=0;i@Kishore-请注意,调用
document.getElementsByName
是一个相当昂贵的操作,实际上不应该在循环的每次迭代期间执行,这很像对数组长度的评估,您只对其进行了一次整洁的评估-许多人对其进行评估,而不是将值填充到变量中能够,用更少的技巧或者像你已经做的那样,向后迭代数组。
    function nambahData() {
        var a = document.getElementById("harga");
        var b = a.cloneNode(false);
        document.getElementById("form").appendChild(b);
    }

    function ditotal() {
        var x = document.getElementById("harga").value;
        var y = document.getElementById("harga").childNode.value;
        document.getElementById("total").value = parseInt(x) + parseInt(y);
    }
</script>
<div id="form">
    <input id="harga" type=number>
    <br>
</div>
<button onclick="nambahData()">add data</button>
<br>
<button onclick="ditotal()">total all</button>
<input id="total" type=number>