找到一个标签并隐藏它旁边的另一个标签

时间:2013-05-03 18:53:26

标签: jquery jquery-selectors

我有一组带有两个标签的TD。我想找到一个标签并隐藏另一个标签。

这是我到目前为止所拥有的,

if($('td').find('.mark')) {
       $('.warning').hide();
    }

但我只想让它隐藏在特定的TD中的警告而不是所有.warning标签。

这是小提琴,http://jsfiddle.net/amQ4G/2/

谢谢

更新

我很抱歉,我搞砸了我正在使用的HTML,这是我想要的HTML版本,http://jsfiddle.net/amQ4G/9/

标签位于单独的TD中,一个位于一个TD内,另一个位于TD旁边。

4 个答案:

答案 0 :(得分:2)

您可以使用前面的兄弟选择器:

$('td .mark + .warning').hide()

或者更详细地说:

$('td').find('.mark').next('.warning').hide()

答案 1 :(得分:1)

可以简单地写成如下

$('tr').has('.mark').find('.warning').hide()

根据问题更新

更新

答案 2 :(得分:0)

这是一个解决方案(编辑问题):

$('.mark'). //select all elements with the class 'mark'
parent(). //select the parent of all of those elements
parent(). //my grandpapy selector
find('.warning'). //find the children with the class 'warning'
hide(); //hide yo kids, hide yo wife, and hide yo husband cause they jQuerying everybody

http://jsfiddle.net/amQ4G/12/

答案 3 :(得分:0)

你能尝试这样吗

$(document).ready(function(){
    if($('td').find('.mark')) {
       $('.mark').parent('td').find('.warning').hide();
    }
});

更新了小提琴链接http://jsfiddle.net/amQ4G/6/