私はこれに少し苦労しています:私はボディにクラスが<body class="video page">
あり、私のページには<body class="video-2 page">
各ページにこのような番号を追加するページネーションがあるとしましょう。video
条件が満たされている場合にjqueryを適用するために、番号があるかどうかにかかわらず、クラスをターゲットにしたいと思います。
それ、どうやったら出来るの?
私はこれに少し苦労しています:私はボディにクラスが<body class="video page">
あり、私のページには<body class="video-2 page">
各ページにこのような番号を追加するページネーションがあるとしましょう。video
条件が満たされている場合にjqueryを適用するために、番号があるかどうかにかかわらず、クラスをターゲットにしたいと思います。
それ、どうやったら出来るの?
この属性セレクターを使用して、で始まるクラス属性を持つ要素を選択できますvideo-
。
[class^="video-"]
ただし、これを機能させるには、video-
クラスが要素のclass
属性の最初のクラスであることを確認する必要があります ( http://jsfiddle.net/Czyep/を参照)。
video
クラスとページ付けクラスを分けた方が良いかもしれません。例えば:
<body class="video page-2 page">
クラスを分割して、class="video two page"
両方のクラスを別々に処理できるようにします。それにもかかわらず、次のようなことができます
$('body[class*=video]')
selector で始まる属性を使用できます。
$("body[class^='video']");
$("body").not(".video");
番号で終わるすべてのボディを選択する必要があります。次のこともできます。
if($("body").is("[class$='video-'")) {}
このようなことを試しましたか?
$('.video,.video-'+pageNumber).dosomething()
あなたの質問を正しく理解していると仮定すると、セレクターで連結を使用することをお勧めします。
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">