30
<div class='hide'>A</div>
<div class='hide'>B</div>
<div class='hide' id='1'>C</div>

すべての要素を非表示にしてから、id = '1' の要素を表示する showOne という関数があります。

function showOne(id) {
// Hide all elements with class = 'hide'
$('#'+id).show();
}

jqueryでclass = 'hide'を使用してすべての要素を非表示にするにはどうすればよいですか?

4

6 に答える 6

51

次のようなものを試してください:

function showOne(id) {
    $('.hide').not('#' + id).hide();
}

showOne(1);​

デモ: http://jsfiddle.net/aymansafadi/kReZn/

ただし、@TheSystemRestart「注:数値IDのみを使用しないでください」に同意します。

于 2012-05-16T05:17:37.093 に答える
7
$('div.hide').hide(300,function() {  // first hide all `.hide`
   $('#'+ id +'.hide').show(); // then show the element with id `#1`
});

注: 数値 ID のみを使用しないでください。許可されていません。これを読む

于 2012-05-16T05:13:54.300 に答える
5

css クラス名で要素にアクセスする必要があります。これを行うには、 を使用しますオペレーター

$('.hide').hide();

すべてのdivを非表示にします。

id ごとに 1 つの div を表示します。

$('#elemID').show();

または、これを使用してこれを行うこともできます

$('.hide').eq(0).show();

クラスhideを持つ最初の div が表示されます。

于 2014-03-31T08:35:49.503 に答える
0

試す:

function showOne(id) { 
    $('.hide').hide();
    $('#'+id).show(); 
} 
于 2012-05-16T05:25:38.703 に答える
0

解決策がいかに簡単で、質問を書いた直後にそれを見つけたことをほとんど恥じています。ただ:

$('.hide').hide();
于 2012-05-16T05:14:34.980 に答える
-1

を使用して、クラスが hide のすべてのコンポーネントを非表示にできます $('.hide').hide();

于 2012-05-16T05:15:20.007 に答える