-1

2 つのタグを持つ TD のセットがあります。タグの 1 つを見つけて、もう 1 つを非表示にする方法が欲しいです。

これが私がこれまでに持っているものです。

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

しかし、すべての .warning タグではなく、その特定の TD で .warning を非表示にしたいだけです。

ここにフィドルがありますhttp://jsfiddle.net/amQ4G/2/

ありがとうございました

アップデート

申し訳ありませんが、私が使用している HTML を台無しにしました。ここに、動作させたい HTML バージョンがあります。http://jsfiddle.net/amQ4G/9/

タグは別々の TD にあり、1 つは 1 つの TD 内に存在し、もう 1 つはその隣の TD で非表示になります。

4

4 に答える 4

2

前述の兄弟セレクターを使用できます。

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

またはより詳細に:

$('td').find('.mark').next('.warning').hide()
于 2013-05-03T18:55:56.627 に答える
1

以下のように簡単に書くこともできます

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

質問の更新に従って更新されました

于 2013-05-03T19:03:40.247 に答える
0

このように試すことができますか

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

更新されたフィドル リンクhttp://jsfiddle.net/amQ4G/6/

于 2013-05-03T18:58:38.243 に答える
0

これが1つの解決策です(編集された問題の場合):

$('.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/

于 2013-05-03T18:55:26.753 に答える