1

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

此表中还有其他<tr>行需要保留。是否可以通过文本标签名称“网站”或“网站”来定位表格中的一行label for="url"

IE

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>
4

3 回答 3

6

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

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

或者,如果您想选择标签,您可以使用属性选择器:

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

has方法:

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

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

于 2012-11-11T21:22:06.463 回答
0

这是我的解决方案。它只会删除一个 tr:

$('tr').each(function()
{
  if ( $(this).find('th label').html() == 'Website' )
  {
    $(this).remove();
    return false;
  }
});
于 2012-11-11T21:21:56.837 回答
0

您可以尝试使用 attrfor作为您的标签

$('tr').each(function()
{
  if ( $(this).find('label').attr("for") == 'url' )
    $(this).remove();
});
于 2012-11-11T21:24:49.533 回答