用javascript替换Html并删除 标签

问题描述 投票:0回答:2

我的代码遍布这类代码

<td><font color="#3586DF"><b><span>1</span></b></font></td>
<td><font color="#3586DF"><b><a href="#"><font color="#3586DF">2</font></a></b></font></td>

我想用强大的替换b并删除字体标记

结果应该是

<td><strong><span>1</span></strong></td>
<td><strong><a href="#">2</a></strong></td>

我如何使用jquery,javascript或Css

javascript jquery html dom
2个回答
1
投票

可以使用jQuery replaceWith()

$('font').replaceWith(function() {
  return $(this).contents()
})

$('b').replaceWith(function() {
  return $('<strong>').append($(this).html())
})

console.log($('table').html())
strong,
strong a {
  color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <font color="#3586DF"><b><span>1</span></b></font>
    </td>
    <td>
      <font color="#3586DF"><b><a href="#"><font color="#3586DF">2</font></a></b></font>
    </td>
  </tr>
</table>

0
投票

您可以使用循环在表格中找到b标签并将其替换为这样。

$('#testtable').find('tr > td > font > b').each(function() {
  $(this).replaceWith($('<strong>' + $(this).html() + '</strong>'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id='testtable'><tr>
<td><font color="#3586DF"><b><span>1</span></b></font></td>
<td><font color="#3586DF"><b><a href="#"><font color="#3586DF">2</font></a></b></font></td>
</tr></table>
© www.soinside.com 2019 - 2024. All rights reserved.