2012-03-17 4 views
0

私の#wrapper divを見て、最初の写真にフォトギャラリーを作成し、最初の写真を適用する必要があります。ここでは、関連するコードは次のとおりです。jQueryクラスの子孫が計画どおりにアクセスしていません

$('.inside:first-of-type>div:nth-of-type(1)').css('display', 'none'); 
$('.inside:first-of-type>div:nth-of-type(2)').css('display', 'block'); 

#wrapperのdiv要素のビュー内のすべての要素は、(彼らは#wrapper外にスライドさせた後、このクラスが削除された)クラス.insideが割り当てられています。各写真には2つのdivレイヤーがあります。この例では、第1層を隠して第2層を削除したいと考えています。私は上記のコードがうまくいくと思っていましたが、それはそうですが、シリーズの最初の写真が見える場合にのみ、それ以外は何もしません。

私のCSSは間違っていますか?

+2

HTMLの投稿はどうですか? – j08691

+0

私は 'of-type'が有効だとは思わない。 .inside:最初にdivを実行します:nth-​​child(1)とdiv:nth-​​child(2) –

+0

@DanielLorenz。あなたは正しい、そうではない!あなたがタイプをしたい場合は、タイプを書いてください... – gdoron

答えて

0

まず、first-of-typejQueryというようなセレクタがないので、ほとんどのブラウザではそうです。

これは何が必要です:

var items = $('#wrapper .inside > div'); 
items.eq(0).css('display', 'none'); 
items.eq(1).css('display', 'block'); 

注:

  • あなたがより良い選択の結果をキャッシュし、第二DOMクエリを避けます。
  • 最初のdivにhide機能を使用することができます。items.eq(0).hide();
  • I want to hide the 1st and remove the 2nd layer.
    .css('display', 'block');は何も削除されません! remove関数を使用します。items.eq(1).remove();
+0

それについてはどうですか?http://reference.sitepoint.com/css/pseudoclass-firstoftype? – MarcinJuraszek

+0

@MarcinJuraszek。誰がjQueryがそれをサポートしていると誰ですか? APIにそのようなことはありません! 「最初の型」を選択したい場合は、 '$( '{型のようなdiv:最初の}')'と書いてください。 – gdoron

+1

右、私の悪い、そのためのjQueryのサポートはありませんが、そのセレクタは一般的に存在します:)ちょうどjQueryの文脈を逃した。 – MarcinJuraszek

関連する問題