jQuery:使用remove();对于<label>或#id name </label>的行

时间:2012-11-11 21:19:26

标签: jquery removeclass

我需要使用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>

3 个答案:

答案 0 :(得分:6)

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

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

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

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

has方法:

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

但使用ID选择器效率很高。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您可以尝试使用attr for作为标签

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