1

我正在处理visualforce页面。下面给出执行apex代码后生成的部分HTML文件代码。

<table class="detailList" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr></tr>
<tr>
    <td class="labelCol"></td>
    <td class="dataCol col02">  userName <a href="www.example.com"></a></td>
    <td class="labelCol"></td> <td class="dataCol"></td>
  </tr>
  <tr>
    <td class="labelCol"></td>
    <td class="dataCol col02"><a href="mailto:xyz@gmail.com"></a></td>
    <td class="labelCol"></td>
    <td class="dataCol"></td>
 </tr>  
</table>

我想从此页面中删除用户名锚标记,该标记在第 6 行中编码,其类名称为“dataCol col02”,并且在第 11 行还有另一个具有相同类名称“dataCol col02”的锚标记。保留它请注意,此 html 是通过执行 APEX 代码生成的。请指导我如何仅删除第 6 行的锚标记..

4

7 回答 7

2

您可以使用find,firstremove方法。

$('.dataCol.col02').first().find('a').remove();

如果要删除userNametextNode:

$('.dataCol.col02').first().contents().filter(function () {
    return this.nodeType === 3;
}).remove(); 

删除所有内容:

$('.dataCol.col02').first().empty();
于 2013-05-06T07:26:26.687 回答
1

用这个

$(function(){
  $(".dataCol.col02:first a").remove(); 
});

演示

于 2013-05-06T07:34:53.237 回答
1

您可以执行以下操作:

var anchor = document.getElementsByClassName("col02")[0] //select first matching 'col02'
                     .getElementsByTagName("a")[0]       //select first matching <a>
anchor.parentNode.remove(anchor)

你可以看到它在这里运行:jsfiddle

这当然假设您只想从 class='col02' 的第一个实例中删除,因此不是非常健壮。我想它生成的事实意味着您不能放入更多有用的类/id 属性?

另一方面,与其他答案不同,它不依赖于 jquery :)

于 2013-05-06T07:25:36.343 回答
0

尝试这个:

$("tr:eq(1) > td:eq(1)").remove()
于 2013-05-06T07:27:22.203 回答
0

尝试这个 -

$('td.dataCol.col02').eq(0).find('a').remove();

或者如果您想清空该 td -

$('td.dataCol.col02').eq(0).empty();
于 2013-05-06T07:26:37.700 回答
0
$("table .dataCol.col02:first a").remove();
于 2013-05-06T07:26:50.733 回答
0

这样做>>

 $(".col02:first > a").remove();

示例小提琴

于 2013-05-06T07:41:52.587 回答