所以我有一个这样的脚本,可以通过javascript制作2x2表格
function createtable(){
var tbl = document.getElementById('x');
if (tbl.contains()==false){
tbl.setAttribute('border', '1');
var tbdy = document.createElement('tbody');
for (var i = 0; i < 2; i++) {
var tr = document.createElement('tr');
for (var j = 0; j < 2; j++) {
var td = document.createElement('td');
tr.appendChild(td);
td.style.height='50px';
td.style.width='50px';
}
tbdy.appendChild(tr);
}
tbl.appendChild(tbdy);
}
<form>
<input type="button" value="Create Table" onclick="createtable()"> <br>
</form>
<table id="x"> </table>
我想检查表x是否包含任何内容以创建自身。我试图使用contains()进行检查,但是它不起作用。
答案 0 :(得分:5)
您可以检查行数
var tbl = document.getElementById('x');
if(tbl.rows.length==0){
}
如果tbl.rows.length为0,则表示该表没有任何行
答案 1 :(得分:1)
您可以检查表中的行数:
var x = document.getElementById("myTable").rows.length;
请参见参考:https://www.w3schools.com/jsref/coll_table_rows.asp
使用此方法:
var tbl = document.getElementById('x');
if (tbl.rows.length == 0) {
// empty
}
答案 2 :(得分:1)
答案 3 :(得分:0)
答案 4 :(得分:0)
在这种情况下,由于表中没有子元素或文本节点,因此您只需检查innerHTML
属性是否为假即可。这样可以防止createtable
函数在函数运行一次后附加其他子项。例如:
function createtable() {
var tbl = document.getElementById('x');
if (!tbl.innerHTML) {
tbl.setAttribute('border', '1');
var tbdy = document.createElement('tbody');
for (var i = 0; i < 2; i++) {
var tr = document.createElement('tr');
for (var j = 0; j < 2; j++) {
var td = document.createElement('td');
tr.appendChild(td);
td.style.height = '50px';
td.style.width = '50px';
}
tbdy.appendChild(tr);
}
tbl.appendChild(tbdy);
}
}
<form>
<input type="button" value="Create Table" onclick="createtable()">
<br>
</form>
<table id="x"></table>
答案 5 :(得分:-1)
普通的javascript:
!![].length
或使用Lodash
_.head([]);
// => undefined