在这种情况下如何使用javascript删除

在这种情况下如何使用javascript删除

我有个问题。

<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&nb sp;和空框。
javascript - 在这种情况下如何使用javascript删除?-LMLPHP
显示' '。我不想要。
javascript - 在这种情况下如何使用javascript删除?-LMLPHP
显示“”。我不想要。
javascript - 在这种情况下如何使用javascript删除?-LMLPHP
我想要这个。谢谢你的评论。
        var str = table.rows[i].cells[k].innerHTML.replace(/[&]nbsp[;]/gi,"");
         if (str.length > 0) {
          alert(str);
        }

最佳答案

用Regex将innerHtmltd替换为空字符串,并检查字符串的长度。如果长度大于0,请注意。

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);
  }
};

<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>

关于javascript - 在这种情况下如何使用javascript删除?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50384117/

10-11 14:40