如果标题(class name ='productnamecolor colors_productname')包含文本'True',请尝试删除类'bnum'中的内容。
基本上在下面的示例中,您不应该在“True Merchandiser Refrigerator”下看到任何“Burkett Bucks”值,但它应该仍然存在于所有其他值:
<table width="300px">
<tr>
<td width="100%" valign="top"><a class="productnamecolor colors_productname" href=""> Star Griddle</a></td>
</tr>
<tr>
<td width="100%" valign="top"><table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="64%" valign="top"><font class="text colors_text rewardpoints"><span id="offers">Special Offers:</span><br>
<div class="bbucks"><img src="http://bit.ly/ihYMFL" id="bucks"> Earn <span class="bnum">2343</span> Burkett Bucks</div>
</font></td>
<td align="right" width="36%"></td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td width="100%" valign="top"><a class="productnamecolor colors_productname" href=""> True Merchandiser Refrigerator</a></td>
</tr>
<tr>
<td width="100%" valign="top"><table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="64%" valign="top"><font class="text colors_text rewardpoints"><span id="offers">Special Offers:</span><br>
<div class="bbucks"><img src="http://bit.ly/ihYMFL" id="bucks"> Earn <span class="bnum">2343</span> Burkett Bucks</div>
</font></td>
<td align="right" width="36%"></td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td width="100%" valign="top"><a class="productnamecolor colors_productname" href="">Generic Something</a></td>
</tr>
<tr>
<td width="100%" valign="top"><table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="64%" valign="top"><font class="text colors_text rewardpoints"><span id="offers">Special Offers:</span><br>
<div class="bbucks"><img src="http://bit.ly/ihYMFL" id="bucks"> Earn <span class="bnum">2343</span> Burkett Bucks</div>
</font></td>
<td align="right" width="36%"></td>
</tr>
</tbody>
</table></td>
</tr>
</table>
我遇到的问题是它正在为所有值执行此操作,我只想删除其中包含“True”一词的每个标题下的值。所以我假设我的EACH有问题。
$(document).ready(function() {
$(".colors_productname:contains('True')").each(function () {
$('.bnum').remove(); });
});
答案 0 :(得分:1)
而不是全局选择器
$('.bnum')
你需要使用函数中每个方法的当前上下文,考虑到基数与目标不在同一个tr中,我们需要做一点Dom遍历。
$(".colors_productname:contains('True')").each(function () {
$(this).closest('tr').next('tr').find('.bnum').remove(); });
答案 1 :(得分:0)
不应该是$(this).find('.bnum').remove()
甚至更短:
$(".colors_productname:contains('True') .bnum").remove()
答案 2 :(得分:0)
试试这个:
$(document).ready(function() {
$(".colors_productname:contains('True')").each(function () {
$(this).find('.bnum').remove(); });
});