【问题标题】:jQuery remove table row with non-standard id charactersjQuery删除具有非标准id字符的表格行
【发布时间】:2016-10-23 18:16:41
【问题描述】:

我正在尝试像这样使用 jQuery 删除表格行

function removeTableRow(trId){
    $('#' + trId).remove();
}

但是,如果 id 包含诸如“%”、“^”、“&”、“”等字符,这将不起作用......

您知道是否有任何解决方法吗?

【问题讨论】:

  • 嗯,据我所知,合法的 HTML ID 不能包含这些字符开头...
  • 是的,这些是非法的,但 jquery 也确实与一些合法的作斗争
  • 给一个类名并通过.classname删除它
  • 对不起,我没办法.... 病人:“医生,医生,我这样做会很痛”,医生:“那就别那样做”
  • 我也没有... 罪犯:“警官,警官,我不想坐牢!”,警官:“那你不要犯罪了?”

标签: jquery html-table


【解决方案1】:

相信可以在这里找到原因:What are valid values for the id attribute in HTML?

但是我不太确定除了显而易见的解决方法(更改您的 id)

【讨论】:

    【解决方案2】:

    HTML 4.0 ID 不能包含这些字符and be valid at the same time:

    类型ID和NAME的属性值 必须以范围内的字母开头 A-Z 或 a-z 并且可以跟随 字母 (A-Za-z)、数字 (0-9)、 连字符(“-”)、下划线(“_”)、 冒号 (":") 和句点 (".")。这些 值区分大小写。

    如果你必须,你可以试试这个:

    function removeTableRow(trId) {
        $(document.getElementById(trId)).remove();
    }
    

    不过,我建议修复 HTML。

    【讨论】:

      【解决方案3】:

      我不建议在 id 字符串中使用这些字符。但是,如果您觉得有必要,则需要使用 \\ 转义选择器中的字符。

      示例:http://jsfiddle.net/NuWSp/

      <table>
          <tr id="b%b">
              <td>hello</td>
          </tr>
          <tr>
              <td>world</td>
          </tr>
      </table>
      
      
      function removeTableRow(trId){
          $('#' + trId).remove();
      }
      
      removeTableRow( "b\\%b" );
      

      【讨论】:

        【解决方案4】:

        如果是多表中的几行,最好通过类或组等其他属性来删除。

        这是一个如何通过组属性删除的示例:

        $("table tr[group='"+groupname+"']").remove();
        

        我希望这会有所帮助。

        【讨论】:

          【解决方案5】:

          我不确定它是否会起作用,但你可以试试

          var id = "id%#&hh";
          $("tr").each(function(){
              if($(this).attr("id") == id){
                  $(this).remove();
                  return;
              }
          });
          

          【讨论】:

            猜你喜欢
            • 2017-07-30
            • 1970-01-01
            • 1970-01-01
            • 2016-03-12
            • 2012-04-12
            • 2020-10-25
            • 2020-05-13
            • 1970-01-01
            • 2012-12-14
            相关资源
            最近更新 更多