0

我正在开发一个模拟购物车的原型移动网络应用程序。我已经能够创建购物车并将产品添加到购物车。我遇到的麻烦是覆盖总成本值。我能够转换这些值以执行计算,但我无法覆盖存储总值的值。这是我到目前为止的代码:

<div data-role="content">
              <div class="ui-grid-b">
                <div class="ui-block-a">Title</div>
                <div class="ui-block-b">Format</div>
                <div class="ui-block-c">Price</div>
                <div class="ui-block-a"><p id = "myTitle"></p></div>
                <div class="ui-block-b"><p id = "myFormat"></p></div>
                <div class="ui-block-c"><p id = "myPrice"></p></div>
                <div class="ui-block-a"></div>
                <div class="ui-block-b"></div>
                <div class="ui-block-c"><p id="myTotal"></p></div>
               </div>   

            </div>

现在我希望更新存储在“myTotal”id 中的值。我有一个名为 addtocart() 的函数,这里是它的代码:

`
var total = 0;
function addtocart() {

var title = game.Title ;
var price = game.Price ;
var format = game.Format ; 
var newParagraph = document.createElement('p');
newParagraph.textContent = title;
var newParagraph2 = document.createElement('p');
newParagraph2.textContent = format;
var newParagraph3 = document.createElement('p');
newParagraph3.textContent = price;

document.getElementById("myTitle").appendChild(newParagraph);
document.getElementById("myFormat").appendChild(newParagraph2);
document.getElementById("myPrice").appendChild(newParagraph3);

price = parseInt(price, 10);
price = total + price;
var newParagraph4 = document.createElement('p');
newParagraph4.textContent = total;

document.getElementById("myTotal").appendChild(newParagraph4);

} `

现在我知道 appendChild 用于向文档添加文本,但我似乎可以找到一种解决方案,在添加新项目时用存储在“总计”中的新值覆盖该值。

提前致谢 :)

4

2 回答 2

1

使用 innerHTML 属性。这会将元素内的 HTML 设置为您设置的任何内容,而不是添加节点。

var newParagraph4 = "<p>" + total + "</p>";
document.getElementById("myTotal").innerHTML = newParagraph4;

这执行的 DOM 操作更少,并且比在 DOM 上创建段落然后添加它更快。

于 2012-08-22T23:45:24.633 回答
-1

将 .textContent 更改为 innerHTML:

var newParagraph4 = document.createElement('p');
newParagraph4.innerHTML = total; 
于 2012-08-22T23:47:35.190 回答