以下帖子对我正在尝试做的事情非常有帮助: Builing a cart with multiple items and the PayPal button in PHP
这部分很有效:
var inp1 = document.createElement("input");
inp1.setAttribute("type", "hidden");
inp1.setAttribute("id", "item_number_" + current_item);
inp1.setAttribute("name", "item_number_" + current_item);
inp1.setAttribute("value", current_item);
document.getElementById("paypal-form").appendChild(inp1);
但是我在如何在需要时删除项目时遇到了一些困难......我正在寻找类似的东西:
document.getElementById('payPalForm').removeChild(inp1);
但显然我需要一种方法来指定/跟踪那些动态创建的id ...或者是否有一种我更容易丢失的方式?
任何帮助都将不胜感激。
答案 0 :(得分:1)
使用parentNode属性检索元素的父元素,并使用父元素的removeChild方法:
inp1.parentNode.removeChild (inp1);
答案 1 :(得分:0)
我不确定这段代码属于哪里,但将它封装在一个类中会很有帮助。
function NewClass() {
var formPP = document.getElementById('payPalForm');
var lInputs = [];
this.addItem = function(val) {
var inp1 = document.createElement("input");
inp1.setAttribute("type", "hidden");
inp1.setAttribute("id", "item_number_" + val);
inp1.setAttribute("name", "item_number_" + val);
inp1.setAttribute("value", val);
formPP.appendChild(inp1);
lInputs.push(inp1);
}
this.removeItem = function(val) {
var e = formPP.firstChild;
while( e ) {
var eNext = e.nextSibling;
if( e.value == val )
formPP.removeChild(e);
e = eNext;
}
}
}
你必须根据自己的需要量身定制,但希望这能为你提供一个开始。