Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript检查HTML表格单元格是否为空?_Javascript_Html - Fatal编程技术网

使用javascript检查HTML表格单元格是否为空?

使用javascript检查HTML表格单元格是否为空?,javascript,html,Javascript,Html,这是一些简单的JS代码,允许我检查单元格是否为空 我试图编写一个使用“onmouseover=func()”调用的函数;我似乎无法正确理解JS代码。有什么想法吗 理想情况下,我要努力实现的是一个代码,它可以确定一个单元格是否为空,如果为空,则在其中放入一个简单的值,如“cell empty” 我知道这听起来很简单,但我需要一些帮助。 谢谢您的建议。如果您使用的是jQuery,请在元素上使用html()方法。鉴于此标记: <td id="my_cell"></td> 这有

这是一些简单的JS代码,允许我检查单元格是否为空

我试图编写一个使用“onmouseover=func()”调用的函数;我似乎无法正确理解JS代码。有什么想法吗

理想情况下,我要努力实现的是一个代码,它可以确定一个单元格是否为空,如果为空,则在其中放入一个简单的值,如“cell empty”

我知道这听起来很简单,但我需要一些帮助。
谢谢您的建议。

如果您使用的是jQuery,请在元素上使用
html()
方法。鉴于此标记:

<td id="my_cell"></td>

这有点取决于最初在那里会有什么。根据我的经验,如果一个单元格只包含空格,那么表的行为会很奇怪,因此一个常见的解决方法是在其中放置一个
,以阻止它崩溃。无论如何,以下是您检查的方式:

function elementIsEmpty(el) {
    return (/^(\s|&nbsp;)*$/.test(el.innerHTML);
}

function replaceCell(td) {
    if (elementIsEmpty(td)) {
        td.innerHTML = 'Cell Empty';
    }
}


<td onmouseover="replaceCell(this)"></td>
函数元素空(el){
返回(/^(\s |)*$/.test(el.innerHTML);
}
函数替换单元(td){
if(elementIsEmpty(td)){
td.innerHTML='Cell Empty';
}
}
…虽然更好的方法是通过Javascript事件处理程序应用行为。

不使用jQuery(就像以前的好时光一样):


这个问题没有提到jQuery,因此这并不能回答问题。如果您使用的是jQuery,则需要使用
.html()
而不是
.innerHTML
。这种奇怪的行为只适用于IE6/7。它不会呈现整个单元格,包括它的标记。通常第一次注意到缺少边框或背景色。先生,我觉得你无法理解讽刺性的评论。
function elementIsEmpty(el) {
    return (/^(\s|&nbsp;)*$/.test(el.innerHTML);
}

function replaceCell(td) {
    if (elementIsEmpty(td)) {
        td.innerHTML = 'Cell Empty';
    }
}


<td onmouseover="replaceCell(this)"></td>
function func(e){
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (target.innerHTML === ''){
        target.innerHTML = 'Cell Empty!';
    }
}