【问题标题】:How to remove   with javascript this case?在这种情况下如何使用 javascript 删除?
【发布时间】:2018-05-17 05:45:52
【问题描述】:

我有一个问题。

<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,''))

但随后会出现空警报框。

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


显示“&nbsp”。我不想要。

出现 ””。我不想要。

我要这个。谢谢你的评论。

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

【问题讨论】:

  • 如果您是expect &amp;nb sp;,那么您需要将&amp;nbsp 替换为&amp;nb sp,而不是空字符串..?
  • 你想要的不是空警报吗?
  • 只有trimstr,然后是check the length,如果大于0,提醒值。

标签: javascript html


【解决方案1】:

用正则表达式将tdinnerHtml替换为空字符串,并检查字符串的长度。如果长度大于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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2015-11-30
    • 2017-05-16
    相关资源
    最近更新 更多