如何用javascript删除这种情况?

时间:2018-05-17 05:45:52

标签: javascript html

我有一个问题。

<table id="mytable">
 <tr>
  <td>1</td>
  <td>2</td>
  <td>3</td>
  <td>&nbsp;</td>
  <td>4</td>
 </tr>
 <tr>
  <td>5</td>
  <td>6</td>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
  <td>7</td>
 </tr>
 <tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
  <td>8</td>
  <td>9</td>
  <td>10</td>
 </tr>
</table>

这是脚本。

var table = document.getElementById("mytable");
for (var i = 0; i < 3; i++) {
  for (var k = 0; k < 5; k++) {
    var str = table.rows[i].cells[k].innerHTML;
    alert(str);
  }
};

我尝试编码

alert(str.replace(/(&nbsp;)*/g,''))

但显示空警报框。

我想弹出单元格值expect&amp; nb sp;和空盒子。

show up '&nbsp' 出现'&amp; nbsp'。我不想要它。

show up '' 出现 ””。我不想要它。

I want this! 我要这个。感谢您的评论。

        var str = table.rows[i].cells[k].innerHTML.replace(/[&]nbsp[;]/gi,"");
         if (str.length > 0) {
          alert(str);
        }

1 个答案:

答案 0 :(得分:0)

用Regex用空字符串替换innerHtml的{​​{1}}并检查字符串的长度。如果长度大于0,请提醒。

&#13;
&#13;
td
&#13;
var table = document.getElementById("mytable");
for (var i = 0; i < 3; i++) {
  for (var k = 0; k < 5; k++) {
    var str = table.rows[i].cells[k].innerHTML;
    str = str.replace(/(&nbsp;)*/g, '');
    if (str.length) alert(str);
  }
};
&#13;
&#13;
&#13;