2

私はこれに少し苦労しています:私はボディにクラスが<body class="video page">あり、私のページには<body class="video-2 page">各ページにこのような番号を追加するページネーションがあるとしましょう。video条件が満たされている場合にjqueryを適用するために、番号があるかどうかにかかわらず、クラスをターゲットにしたいと思います。

それ、どうやったら出来るの?

4

6 に答える 6

2

この属性セレクターを使用して、で始まるクラス属性を持つ要素を選択できますvideo-

[class^="video-"]

ただし、これを機能させるには、video-クラスが要素のclass属性の最初のクラスであることを確認する必要があります ( http://jsfiddle.net/Czyep/を参照)。

videoクラスとページ付けクラスを分けた方が良いかもしれません。例えば:

<body class="video page-2 page">
于 2012-11-23T09:35:34.587 に答える
1

クラスを分割して、class="video two page"両方のクラスを別々に処理できるようにします。それにもかかわらず、次のようなことができます

$('body[class*=video]')
于 2012-11-23T09:35:17.537 に答える
0

selector で始まる属性を使用できます。

$("body[class^='video']");
于 2012-11-23T09:36:48.533 に答える
0
$("body").not(".video");

番号で終わるすべてのボディを選択する必要があります。次のこともできます。

if($("body").is("[class$='video-'")) {}
于 2012-11-23T09:33:28.957 に答える
0

このようなことを試しましたか?

$('.video,.video-'+pageNumber).dosomething()
于 2012-11-23T09:33:43.570 に答える
0

あなたの質問を正しく理解していると仮定すると、セレクターで連結を使用することをお勧めします。

body タグに、video と page、または video-2 と page という 2 つのクラスを指定していることに気付いていると思います。したがって、ページは選択において重要であり、セレクターに含める必要があると思います。

したがって、何が起こっているのかが非常に明確ないくつかの構文ほどきちんとしていませんが、この構文を使用します。明らかに、これをページ選択を駆動するロジックに組み込む必要があります。

var suffix = "";

$(".video" + suffix + ".page").dosomething();  // select <body class="video page">

suffix = "-2";

$(".video" + suffix + ".page").dosomething();  // select <body class="video-2 page">

クラスは html の同じタグで宣言されているため、セレクターのクラス間にスペースを入れないでください。

あなたは次のようなものを指定しましたか

<body class="video">    // body wrapper
    <div class="page">  // page wrapper
    </div>
</body>

次に、body 内の div ページで必要に応じてクラス video または video-2 と一致させようとしているため、スペースが必要になります。

suffix = "-2";

$(".video" + suffix + " .page").dosomething();  // select <body class="video-2"><div class="page">
于 2012-11-23T09:59:10.697 に答える