使用 JavaScript 在 <div> 中打印多个 <p> 标签
Printing Multiple <p> Tags within a <div> Using JavaScript
我正在尝试使用 JavaScript 创建一些 html <p>
和 <div>
标签,其中包含一些信息。我遇到的问题是我的 totalAmountPrintOut
函数只是在 #printDivOut<div
> 中 returning 1 <p>
标签,当我想要它时 return 8。如果有人能帮我解决这个问题问题,我将不胜感激。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="input1-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="Jerry Reimer" content="Cake Baby Bakery Recipe Calculator">
<title>Cake Baby Bakery Recipe Calculator</title>
<script src="/common/ajaxCheat.js"></script>
<style>
.starter-template {
padding: 40pinput1 15pinput1;
teinput1t-align: center;
}
</style>
<script src="/common/ajaxCheat.js"></script>
</head>
<body>
<div id="wholePage" >
<img src="img1.png" alt="Cake Baby">
<div id="title">Cake Baby</div>
<div id="cakeHook" >
<div id="displayBlock1">
<div id="recipe1Div">
Chocolate Cake (per cake): <br> 1.75 cups of Flour, 2 cup of Sugar, 2 Eggs, 1.5 tsp Baking Powder and 1.75 tsp of Baking Soda and 0.75 cups of Chocolate Powder
</div>
<form >
<input type="number" name="recipe1" min="0" mainput1="10000" value="0" id="form1">
</form>
</div>
<div id="displayBlock2">
<div id="recipe2Div">
Cookies (per two dozen): <br> 0.5 cup butter, 1.5 cups of flour, 0.5 tsp Baking Powder, 1 Egg, 1 Cup of Chocolate Chips, 3.0 cups sugar
</div>
<form >
<input type="number" name="recipe2" min="0" mainput1="10000" value="0" id="form2">
</form>
</div>
<button id="calculateButton">
Calculate
</button>
<div id="Total">
Total
<form id="output">
<output id="totalCalculation">
</output>
</form>
</div>
</div>
</div>
<div id="printOutDiv">
</div>
<script>
//costPrintOut object constructor
var costPrintOut = function(bodyText) {
this.body = bodyText;
this.printOut = function() {
var printOutDiv = document.getElementById("printOutDiv");
var costPrintOutDiv = document.createElement("div");
costPrintOutDiv.innerHTML = "<p>" + "The total cost of the recipe's is: $" + this.body + "</p>";
printOutDiv.appendChild(costPrintOutDiv);
};
};
//totalAmountPrintOut object constructor
var totalAmountPrintOut = function(bodyText1,bodyText2,bodyText3,bodyText4,bodyText5,bodyText6,bodyText7,bodyText8) {
this.body1 = bodyText1;
this.body2 = bodyText2;
this.body3 = bodyText3;
this.body4 = bodyText4;
this.body5 = bodyText5;
this.body6 = bodyText6;
this.body7 = bodyText7;
this.body8 = bodyText8;
this.printOutRecipe = function() {
var printOutDiv = document.getElementById("printOutDiv");
var amountPrintOutDiv = document.createElement("div");
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body1 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body2 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body3 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body4 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body5 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body6 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body7 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body8 + " cups." + "</p>";
printOutDiv.appendChild(amountPrintOutDiv);
};
};
//function that steps through and parses JSON text
//passed to ajax get code
var callback = function(text){
var parsedData = JSON.parse(text);
console.log(parsedData);
//retrieve input values
var input1 = document.getElementById("form1").value;
var input2 = document.getElementById("form2").value;
//calculate total amount of ingredients & total cost of each ingredient
var totalAmountofFlourIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].Flour);
var totalAmountofSugarIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].Sugar);
var totalAmountofEggsIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].Eggs);
var totalAmountofBakingPowderIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].BakingPowder);
console.log(totalAmountofBakingPowderIngredientForCake);
var totalAmountofBakingSodaIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].BakingSoda);
var totalAmountofChocolatePowderIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].ChocolatePowder);
var costOfflourIngredientTotalForCake = totalAmountofFlourIngredientForCake * (parsedData[0].products[0].cost);
var costOfsugarIngredientTotalForCake = totalAmountofSugarIngredientForCake * (parsedData[0].products[1].cost);
var costOfeggIngredientTotalForCake = totalAmountofEggsIngredientForCake * (parsedData[0].products[2].cost);
var costOfbakingpowderIngredientTotalForCake = totalAmountofBakingPowderIngredientForCake * (parsedData[0].products[3].cost);
var costOfbakingSodaIngredientTotalForCake = totalAmountofBakingSodaIngredientForCake * (parsedData[0].products[4].cost);
var costOfchocPowderIngredientTotalForCake = totalAmountofChocolatePowderIngredientForCake * (parsedData[0].products[5].cost);
var totalAmountofFlourIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Flour);
var totalAmountofSugarIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Sugar);
var totalAmountofEggsIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Eggs);
var totalAmountofBakingPowderIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].BakingPowder);
console.log(parsedData[0].recipes[1].ingredients[0].BakingPowder);
console.log(totalAmountofBakingPowderIngredientForCookies);
var totalAmountofButterIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Butter);
var totalAmountofChocolateChipIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].ChocolateChips);
var costOfbutterIngredientTotalForCookies = totalAmountofButterIngredientForCookies * (parsedData[0].products[7].cost);
var costOfflourIngredientTotalForCookies = totalAmountofFlourIngredientForCookies * (parsedData[0].products[0].cost);
var costOfsugarIngredientTotalForCookies = totalAmountofSugarIngredientForCookies * (parsedData[0].products[1].cost);
var costOfeggsIngredientTotalForCookies = totalAmountofEggsIngredientForCookies * (parsedData[0].products[2].cost);
var costOfbakingPowderIngredientTotalForCookies = totalAmountofBakingPowderIngredientForCookies * (parsedData[0].products[3].cost);
var costOfchocolateChipsIngredientTotalForCookies = totalAmountofChocolateChipIngredientForCookies * (parsedData[0].products[6].cost);
//add amount of ingredients together from cookies and cake recipes
var totalAmountofFlour = totalAmountofFlourIngredientForCookies + totalAmountofFlourIngredientForCake;
var totalAmountofSugar = totalAmountofSugarIngredientForCake + totalAmountofSugarIngredientForCookies;
var totalAmountofEggs = totalAmountofEggsIngredientForCake + totalAmountofEggsIngredientForCookies;
var totalAmountofBakingPowder = totalAmountofBakingPowderIngredientForCake + totalAmountofBakingPowderIngredientForCookies;
console.log(totalAmountofBakingPowder);
var totalAmountofBakingSoda = totalAmountofBakingSodaIngredientForCake;
var totalAmountofChocPowder = totalAmountofChocolatePowderIngredientForCake;
var totalAmountofChocChips = totalAmountofChocolateChipIngredientForCookies;
var totalAmountofButter = totalAmountofButterIngredientForCookies;
//add cost of ingredients together from cookies and cake recipes
var totalCostofFlour = costOfflourIngredientTotalForCake + costOfflourIngredientTotalForCookies;
var totalCostofSugar = costOfsugarIngredientTotalForCake + costOfsugarIngredientTotalForCookies;
var totalCostofEggs = costOfeggIngredientTotalForCake + costOfeggsIngredientTotalForCookies;
var totalCostofBakingPowder = costOfbakingpowderIngredientTotalForCake + costOfbakingPowderIngredientTotalForCookies;
var totalCostofBakingSoda = costOfbakingSodaIngredientTotalForCake;
var totalCostofChocPowder = costOfchocPowderIngredientTotalForCake;
var totalCostofChocChips = costOfchocolateChipsIngredientTotalForCookies;
var totalCostofButter = totalAmountofButterIngredientForCookies;
console.log(totalCostofBakingPowder);
var totalCost = totalCostofFlour + totalCostofSugar + totalCostofEggs + totalCostofBakingPowder + totalCostofBakingSoda + totalCostofChocPowder + totalCostofChocChips + totalCostofButter;
console.log(totalCost);
var displayTotalCost = new costPrintOut(totalCost);
displayTotalCost.printOut();
var displayTotalAmountofIngredients = new totalAmountPrintOut(totalAmountofFlour,totalAmountofSugar,totalAmountofEggs,totalAmountofBakingPowder,totalAmountofBakingSoda,totalAmountofChocPowder,totalAmountofChocChips,totalAmountofButter);
displayTotalAmountofIngredients.printOutRecipe();
};
//onClick event that returns text
document.getElementById("calculateButton").onclick = function() {
//returning json data
ajax.get("a1data.json", callback);
};
</script>
</body>
var totalAmountPrintOut = function(bodyText1,bodyText2,bodyText3,bodyText4,bodyText5,bodyText6,bodyText7,bodyText8) {
this.body1 = bodyText1;
this.body2 = bodyText2;
this.body3 = bodyText3;
this.body4 = bodyText4;
this.body5 = bodyText5;
this.body6 = bodyText6;
this.body7 = bodyText7;
this.body8 = bodyText8;
this.printOutRecipe = function() {
var printOutDiv = document.getElementById("printOutDiv");
var amountPrintOutDiv = document.createElement("div");
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body1 + " cups." + "</p>";
var amountPrintOutDiv1 = document.createElement("div");
amountPrintOutDiv1.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body2 + " cups." + "</p>";
var amountPrintOutDiv2 = document.createElement("div");
amountPrintOutDiv2.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body3 + " cups." + "</p>";
var amountPrintOutDiv3 = document.createElement("div");
amountPrintOutDiv3.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body4 + " cups." + "</p>";
var amountPrintOutDiv4 = document.createElement("div");
amountPrintOutDiv4.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body5 + " cups." + "</p>";
var amountPrintOutDiv5 = document.createElement("div");
amountPrintOutDiv5.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body6 + " cups." + "</p>";
var amountPrintOutDiv6 = document.createElement("div");
amountPrintOutDiv6.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body7 + " cups." + "</p>";
var amountPrintOutDiv7 = document.createElement("div");
amountPrintOutDiv7.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body8 + " cups." + "</p>";
printOutDiv.appendChild(amountPrintOutDiv);
printOutDiv.appendChild(amountPrintOutDiv1);
printOutDiv.appendChild(amountPrintOutDiv2);
printOutDiv.appendChild(amountPrintOutDiv3);
printOutDiv.appendChild(amountPrintOutDiv4);
printOutDiv.appendChild(amountPrintOutDiv5);
printOutDiv.appendChild(amountPrintOutDiv6);
printOutDiv.appendChild(amountPrintOutDiv7);
};
};
您在将 html 分配给 amountPrintOutDiv.innerHTML 时缺少“+”。
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body1 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body2 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body3 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body4 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body5 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body6 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body7 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body8 + " cups." + "</p>";
问题是您没有将文本附加到 innerHTML,您只是将它重新分配了 8 次。尝试这样的事情:
amountPrintOutDiv.innerHTML = "<p>text..." + this.body1 + "</p>" +
"<p>text..." + this.body2 + "</p>" +
"<p>text..." + this.body3 + "</p>" +
"<p>text..." + this.body4 + "</p>";
或者,如果您必须追加,您可以这样做:
amountPrintOutDiv.innerHTML = "<p>text..." + this.body1 + "</p>";
amountPrintOutDiv.innerHTML += "<p>text..." + this.body1 + "</p>";
amountPrintOutDiv.innerHTML += "<p>text..." + this.body2 + "</p>";
amountPrintOutDiv.innerHTML += "<p>text..." + this.body2 + "</p>";
此外,如果您发现自己编写了非常重复的代码,不妨考虑一下如何将其放入循环中。
我正在尝试使用 JavaScript 创建一些 html <p>
和 <div>
标签,其中包含一些信息。我遇到的问题是我的 totalAmountPrintOut
函数只是在 #printDivOut<div
> 中 returning 1 <p>
标签,当我想要它时 return 8。如果有人能帮我解决这个问题问题,我将不胜感激。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="input1-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="Jerry Reimer" content="Cake Baby Bakery Recipe Calculator">
<title>Cake Baby Bakery Recipe Calculator</title>
<script src="/common/ajaxCheat.js"></script>
<style>
.starter-template {
padding: 40pinput1 15pinput1;
teinput1t-align: center;
}
</style>
<script src="/common/ajaxCheat.js"></script>
</head>
<body>
<div id="wholePage" >
<img src="img1.png" alt="Cake Baby">
<div id="title">Cake Baby</div>
<div id="cakeHook" >
<div id="displayBlock1">
<div id="recipe1Div">
Chocolate Cake (per cake): <br> 1.75 cups of Flour, 2 cup of Sugar, 2 Eggs, 1.5 tsp Baking Powder and 1.75 tsp of Baking Soda and 0.75 cups of Chocolate Powder
</div>
<form >
<input type="number" name="recipe1" min="0" mainput1="10000" value="0" id="form1">
</form>
</div>
<div id="displayBlock2">
<div id="recipe2Div">
Cookies (per two dozen): <br> 0.5 cup butter, 1.5 cups of flour, 0.5 tsp Baking Powder, 1 Egg, 1 Cup of Chocolate Chips, 3.0 cups sugar
</div>
<form >
<input type="number" name="recipe2" min="0" mainput1="10000" value="0" id="form2">
</form>
</div>
<button id="calculateButton">
Calculate
</button>
<div id="Total">
Total
<form id="output">
<output id="totalCalculation">
</output>
</form>
</div>
</div>
</div>
<div id="printOutDiv">
</div>
<script>
//costPrintOut object constructor
var costPrintOut = function(bodyText) {
this.body = bodyText;
this.printOut = function() {
var printOutDiv = document.getElementById("printOutDiv");
var costPrintOutDiv = document.createElement("div");
costPrintOutDiv.innerHTML = "<p>" + "The total cost of the recipe's is: $" + this.body + "</p>";
printOutDiv.appendChild(costPrintOutDiv);
};
};
//totalAmountPrintOut object constructor
var totalAmountPrintOut = function(bodyText1,bodyText2,bodyText3,bodyText4,bodyText5,bodyText6,bodyText7,bodyText8) {
this.body1 = bodyText1;
this.body2 = bodyText2;
this.body3 = bodyText3;
this.body4 = bodyText4;
this.body5 = bodyText5;
this.body6 = bodyText6;
this.body7 = bodyText7;
this.body8 = bodyText8;
this.printOutRecipe = function() {
var printOutDiv = document.getElementById("printOutDiv");
var amountPrintOutDiv = document.createElement("div");
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body1 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body2 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body3 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body4 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body5 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body6 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body7 + " cups." + "</p>";
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body8 + " cups." + "</p>";
printOutDiv.appendChild(amountPrintOutDiv);
};
};
//function that steps through and parses JSON text
//passed to ajax get code
var callback = function(text){
var parsedData = JSON.parse(text);
console.log(parsedData);
//retrieve input values
var input1 = document.getElementById("form1").value;
var input2 = document.getElementById("form2").value;
//calculate total amount of ingredients & total cost of each ingredient
var totalAmountofFlourIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].Flour);
var totalAmountofSugarIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].Sugar);
var totalAmountofEggsIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].Eggs);
var totalAmountofBakingPowderIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].BakingPowder);
console.log(totalAmountofBakingPowderIngredientForCake);
var totalAmountofBakingSodaIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].BakingSoda);
var totalAmountofChocolatePowderIngredientForCake = input1 * (parsedData[0].recipes[0].ingredients[0].ChocolatePowder);
var costOfflourIngredientTotalForCake = totalAmountofFlourIngredientForCake * (parsedData[0].products[0].cost);
var costOfsugarIngredientTotalForCake = totalAmountofSugarIngredientForCake * (parsedData[0].products[1].cost);
var costOfeggIngredientTotalForCake = totalAmountofEggsIngredientForCake * (parsedData[0].products[2].cost);
var costOfbakingpowderIngredientTotalForCake = totalAmountofBakingPowderIngredientForCake * (parsedData[0].products[3].cost);
var costOfbakingSodaIngredientTotalForCake = totalAmountofBakingSodaIngredientForCake * (parsedData[0].products[4].cost);
var costOfchocPowderIngredientTotalForCake = totalAmountofChocolatePowderIngredientForCake * (parsedData[0].products[5].cost);
var totalAmountofFlourIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Flour);
var totalAmountofSugarIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Sugar);
var totalAmountofEggsIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Eggs);
var totalAmountofBakingPowderIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].BakingPowder);
console.log(parsedData[0].recipes[1].ingredients[0].BakingPowder);
console.log(totalAmountofBakingPowderIngredientForCookies);
var totalAmountofButterIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].Butter);
var totalAmountofChocolateChipIngredientForCookies = input2 * (parsedData[0].recipes[1].ingredients[0].ChocolateChips);
var costOfbutterIngredientTotalForCookies = totalAmountofButterIngredientForCookies * (parsedData[0].products[7].cost);
var costOfflourIngredientTotalForCookies = totalAmountofFlourIngredientForCookies * (parsedData[0].products[0].cost);
var costOfsugarIngredientTotalForCookies = totalAmountofSugarIngredientForCookies * (parsedData[0].products[1].cost);
var costOfeggsIngredientTotalForCookies = totalAmountofEggsIngredientForCookies * (parsedData[0].products[2].cost);
var costOfbakingPowderIngredientTotalForCookies = totalAmountofBakingPowderIngredientForCookies * (parsedData[0].products[3].cost);
var costOfchocolateChipsIngredientTotalForCookies = totalAmountofChocolateChipIngredientForCookies * (parsedData[0].products[6].cost);
//add amount of ingredients together from cookies and cake recipes
var totalAmountofFlour = totalAmountofFlourIngredientForCookies + totalAmountofFlourIngredientForCake;
var totalAmountofSugar = totalAmountofSugarIngredientForCake + totalAmountofSugarIngredientForCookies;
var totalAmountofEggs = totalAmountofEggsIngredientForCake + totalAmountofEggsIngredientForCookies;
var totalAmountofBakingPowder = totalAmountofBakingPowderIngredientForCake + totalAmountofBakingPowderIngredientForCookies;
console.log(totalAmountofBakingPowder);
var totalAmountofBakingSoda = totalAmountofBakingSodaIngredientForCake;
var totalAmountofChocPowder = totalAmountofChocolatePowderIngredientForCake;
var totalAmountofChocChips = totalAmountofChocolateChipIngredientForCookies;
var totalAmountofButter = totalAmountofButterIngredientForCookies;
//add cost of ingredients together from cookies and cake recipes
var totalCostofFlour = costOfflourIngredientTotalForCake + costOfflourIngredientTotalForCookies;
var totalCostofSugar = costOfsugarIngredientTotalForCake + costOfsugarIngredientTotalForCookies;
var totalCostofEggs = costOfeggIngredientTotalForCake + costOfeggsIngredientTotalForCookies;
var totalCostofBakingPowder = costOfbakingpowderIngredientTotalForCake + costOfbakingPowderIngredientTotalForCookies;
var totalCostofBakingSoda = costOfbakingSodaIngredientTotalForCake;
var totalCostofChocPowder = costOfchocPowderIngredientTotalForCake;
var totalCostofChocChips = costOfchocolateChipsIngredientTotalForCookies;
var totalCostofButter = totalAmountofButterIngredientForCookies;
console.log(totalCostofBakingPowder);
var totalCost = totalCostofFlour + totalCostofSugar + totalCostofEggs + totalCostofBakingPowder + totalCostofBakingSoda + totalCostofChocPowder + totalCostofChocChips + totalCostofButter;
console.log(totalCost);
var displayTotalCost = new costPrintOut(totalCost);
displayTotalCost.printOut();
var displayTotalAmountofIngredients = new totalAmountPrintOut(totalAmountofFlour,totalAmountofSugar,totalAmountofEggs,totalAmountofBakingPowder,totalAmountofBakingSoda,totalAmountofChocPowder,totalAmountofChocChips,totalAmountofButter);
displayTotalAmountofIngredients.printOutRecipe();
};
//onClick event that returns text
document.getElementById("calculateButton").onclick = function() {
//returning json data
ajax.get("a1data.json", callback);
};
</script>
</body>
var totalAmountPrintOut = function(bodyText1,bodyText2,bodyText3,bodyText4,bodyText5,bodyText6,bodyText7,bodyText8) {
this.body1 = bodyText1;
this.body2 = bodyText2;
this.body3 = bodyText3;
this.body4 = bodyText4;
this.body5 = bodyText5;
this.body6 = bodyText6;
this.body7 = bodyText7;
this.body8 = bodyText8;
this.printOutRecipe = function() {
var printOutDiv = document.getElementById("printOutDiv");
var amountPrintOutDiv = document.createElement("div");
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body1 + " cups." + "</p>";
var amountPrintOutDiv1 = document.createElement("div");
amountPrintOutDiv1.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body2 + " cups." + "</p>";
var amountPrintOutDiv2 = document.createElement("div");
amountPrintOutDiv2.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body3 + " cups." + "</p>";
var amountPrintOutDiv3 = document.createElement("div");
amountPrintOutDiv3.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body4 + " cups." + "</p>";
var amountPrintOutDiv4 = document.createElement("div");
amountPrintOutDiv4.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body5 + " cups." + "</p>";
var amountPrintOutDiv5 = document.createElement("div");
amountPrintOutDiv5.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body6 + " cups." + "</p>";
var amountPrintOutDiv6 = document.createElement("div");
amountPrintOutDiv6.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body7 + " cups." + "</p>";
var amountPrintOutDiv7 = document.createElement("div");
amountPrintOutDiv7.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body8 + " cups." + "</p>";
printOutDiv.appendChild(amountPrintOutDiv);
printOutDiv.appendChild(amountPrintOutDiv1);
printOutDiv.appendChild(amountPrintOutDiv2);
printOutDiv.appendChild(amountPrintOutDiv3);
printOutDiv.appendChild(amountPrintOutDiv4);
printOutDiv.appendChild(amountPrintOutDiv5);
printOutDiv.appendChild(amountPrintOutDiv6);
printOutDiv.appendChild(amountPrintOutDiv7);
};
};
您在将 html 分配给 amountPrintOutDiv.innerHTML 时缺少“+”。
amountPrintOutDiv.innerHTML = "<p>" + "The total amount flour from the recipes is " + this.body1 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body2 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body3 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body4 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body5 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body6 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body7 + " cups." + "</p>";
amountPrintOutDiv.innerHTML += "<p>" + "The total amount flour from the recipes is " + this.body8 + " cups." + "</p>";
问题是您没有将文本附加到 innerHTML,您只是将它重新分配了 8 次。尝试这样的事情:
amountPrintOutDiv.innerHTML = "<p>text..." + this.body1 + "</p>" +
"<p>text..." + this.body2 + "</p>" +
"<p>text..." + this.body3 + "</p>" +
"<p>text..." + this.body4 + "</p>";
或者,如果您必须追加,您可以这样做:
amountPrintOutDiv.innerHTML = "<p>text..." + this.body1 + "</p>";
amountPrintOutDiv.innerHTML += "<p>text..." + this.body1 + "</p>";
amountPrintOutDiv.innerHTML += "<p>text..." + this.body2 + "</p>";
amountPrintOutDiv.innerHTML += "<p>text..." + this.body2 + "</p>";
此外,如果您发现自己编写了非常重复的代码,不妨考虑一下如何将其放入循环中。