jQuery:使用 remove();按<tr> <label> 名称或按名称 #id 行



我需要使用remove()在渲染页面中删除一个<tr>行;通过针对<label>名称。 请参阅下面的标记。

该表中还有其他<tr>行需要保留。是否可以通过文本标签名称"网站"或label for="url"

来定位表中的一行。

即。

jQuery(document).ready(function( $ ){
    $("target the <tr> by label name Website or "url" ").remove();
  });

html标记:

<tr>
    <th><label for="url">Website</label></th>
    <td><input type="text" name="url" id="url" value="" class="regular-text code" /></td>
</tr>

为什么不选择具有ID属性的输入?

$('#url').closest('tr').remove();

或如果要选择标签,则可以使用属性选择器:

$('label[for="url"]').closest('tr').remove();

has方法:

$('tr').has('label[for="url"]').remove();

,但使用ID选择器非常有效。

这是我的解决方案。它将仅删除一个TR:

$('tr').each(function()
{
  if ( $(this).find('th label').html() == 'Website' )
  {
    $(this).remove();
    return false;
  }
});

您可以尝试使用attr for for label

$('tr').each(function()
{
  if ( $(this).find('label').attr("for") == 'url' )
    $(this).remove();
});

最新更新