我有一组带有两个标签的TD。我想找到一个标签并隐藏另一个标签。
这是我到目前为止所拥有的,
if($('td').find('.mark')) {
$('.warning').hide();
}
但我只想让它隐藏在特定的TD中的警告而不是所有.warning标签。
这是小提琴,http://jsfiddle.net/amQ4G/2/
谢谢
更新
我很抱歉,我搞砸了我正在使用的HTML,这是我想要的HTML版本,http://jsfiddle.net/amQ4G/9/
标签位于单独的TD中,一个位于一个TD内,另一个位于TD旁边。
答案 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
答案 3 :(得分:0)
你能尝试这样吗
$(document).ready(function(){
if($('td').find('.mark')) {
$('.mark').parent('td').find('.warning').hide();
}
});
更新了小提琴链接http://jsfiddle.net/amQ4G/6/