删除 html 中的空白 tr

本文关键字:空白 tr html 删除 | 更新日期: 2023-09-27 18:37:23

我的项目中有一个默认模板。名称、城市和国家/地区等项目将替换为用户数据。

有时数据被替换为空数据,使行留空。我想删除该特定的空行

我的 html 模板如下:

<tr>
 <td>City</td>
 <td>&nbsp;</td>
 <td>&nbsp;</td>
</tr>

这是我的 HTML 模板。如果城市被替换为空,那么我想删除整行。

我想删除替换为空值的数据行

由于我们正在从第三方获取模板,因此 Jquery 是我正在寻找的最后一个选项。还有其他方法可以解决这个问题吗?

任何帮助将不胜感激

我需要解析一个 html 模板。Html 模板的一部分如下所示

 <table>
    <tr>
    <td>Name</td>
    <td>&nbsp;</td>
    <tr>
    <tr>
    <td>City</td>
    <td>&nbsp;</td>
    <tr>
    <tr>
    <td>Country</td>
    <td>&nbsp;</td>
    <tr>
    </table>

然后,使用 C# 将上述模板替换为用户数据。

if (obj.City == null || obj.City == "Specific Parameter")
                        {
                            strGetBody = strGetBody.Replace("City", "");
                        }
                        else
                        {
                            strGetBody = strGetBody.Replace("City", obj.City);
                        }

以下是将通用数据替换为用户数据后的模板

        <table>
        <tr>
        <td>Abc</td>
        <td>&nbsp;</td>
        <tr>
        <tr>
        <td>**&nbsp;**</td>
        <td>&nbsp;</td>
        <tr>
        <tr>
        <td>India</td>
        <td>&nbsp;</td>
        <tr>
        </table>

我想解析值为空的 tr。如果该行的 td 值为 null,是否有任何可能的方法可以解析 tr 元素并删除整行?

删除 html 中的空白 tr

使用一些代码进行最新编辑。我假设您有一个函数,该函数strGetBody为参数,并且需要根据某个对象返回修改后的输出......如果是这样的话,为什么不直接不返回任何东西呢?

private string myFunctionForEachTR(string strGetBody, myObject obj)
{
  if (obj.City == null || obj.City == "Specific Parameter")
    return string.Empty;
  return strGetBody.Replace("City", obj.City);
}

更新

根据您的要求,与其解析 HTML(如果您发现这很困难,解析 HTML 对您来说可能看起来非常困难),不如在返回模板之前执行此操作:

strGetBody = strGetBody.Replace("<tr>'n'r<td>'n'r</td>'n'r<td>&nbsp;</td>'n'r</tr>","");

只需删除整个空<tr>标签。请注意,您可能需要摆弄换行符(可能仅'r'n'r'r'n ),也许还需要空格来找出模板的精确定义方式以匹配Replace函数。

我在所需条件下用<tr style="display:none">替换了<tr>,效果惊人:)

if (obj.City == null || obj.City == "Specific Parameter")
{
  if(strGetBody.Contains("<tr id='"city'">"))
    {
    strGetBody = strGetBody.Replace("<tr id='"city'">", "<tr id='"city'" style='"display:none'">");
    }
}
else 
{
   strGetBody = strGetBody.Replace("City", obj.City);
}   
有两种

方法。

  1. 在删除标记中的值之前<tr>请检查该值是否为 null 并将 <tr> 属性隐藏。
  2. 删除值后使用 js

    document.getElementById("xyz").style.visibility="hidden";