[英]How can I set a limit on the number of table rows a user can make?
In my html, I have a div that is 300px long. 在我的html中,我有一个300px长的div。 In this div, there is a input, button and a table. 在这个div中,有一个输入,一个按钮和一个表。 The input ID is "toDo" and the button id is "addToDo". 输入ID为“ toDo”,按钮ID为“ addToDo”。 However, I would like to limit the number of todos that can be added, because after many, it exceeds the 300px height and continues to add rows. 但是,我想限制可以添加的待办事项的数量,因为很多之后,它超过了300px的高度并继续添加行。
var dailyTasks = document.getElementById("ToDo");
var toDoSpace = document.getElementById("toDospace");
document.getElementById("addToDo").addEventListener('click', function addToDo()
{
var aToDo = document.getElementById("newToDo").value;
ToDos.push(aToDo);
var row = document.createElement("tr");
toDoSpace.appendChild(row);
var cell= row.insertCell(0);
cell.innerHTML = ToDos[0] + "<div class ='counter'></div>";
//this did not work
if(document.getElementsByTagName("tr") == 5)
{
cell.innerHTML = "too many TODos";
}
}); });
Change this line: 更改此行:
if(document.getElementsByTagName("tr") == 5)
to: 至:
if(document.getElementsByTagName("tr").length == 5)
getElementsByTagName()
returns an array of elements, and to check how many they are, you need to check the .length property of that array. getElementsByTagName()
返回一个元素数组,并检查它们的数量,您需要检查该数组的.length属性。
Updated: 更新:
HTML: HTML:
<div id="ToDo">
<h2>Daily Tasks</h2>
<input id="newToDo" />
<button id="addToDo">add ToDo</button>
<table id="toDospace"></table>
<div id="message"></div>
</div>
Javascript: Javascript:
var toDoSpace = document.getElementById("toDospace");
document.getElementById("addToDo").addEventListener('click', function addToDo()
{
var aToDo = document.getElementById("newToDo").value;
if(document.getElementsByTagName("tr").length == 10)
{
document.getElementById('message').innerHTML = 'To many todos!';
}
else if (aToDo === '')
{
document.getElementById('message').innerHTML = 'Cannot be empty!';
}
else
{
var row = document.createElement("tr");
toDoSpace.appendChild(row);
var cell= row.insertCell(0);
cell.innerHTML = aToDo + "<div class ='counter'></div>";
document.getElementById("newToDo").value = '';
document.getElementById('message').innerHTML = '';
}
});
Working fiddle example: 工作小提琴示例:
https://jsfiddle.net/rwt9302c/2/ https://jsfiddle.net/rwt9302c/2/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.