1

私は JQuery についてほとんど何も知りませんが、私のソリューションのほとんどは Stackoverflow で見つけることができるので、私の (おそらく初めての "so.com" だけでなく、noob も) 質問に対する答えがあることを願っています。jquery スクリプトを不明な数の番号付き ID に適用しようとしています。id-1 から id-1000 までのすべての ID を参照することができ、これ以上必要としないことを願っています。または、何らかの形で id-n を参照できた場合、末尾に数字があるすべての ID に適用されます。

ここに私が持っているコードがあります:

drupal_add_js('jQuery(document).ready(function (){jQuery("#pika-[any integer]").PikaCho...

影響するもの:

<ul id="pika-1"> or <ul id="pika-329"> or <ul id="pika-[any integer]">

これを行うにはどうすればよいですか?

(わかりやすくするために、これは Drupal の template.php ファイル内にあり、pikachoose ギャラリーの表示に影響を与えます。違いがあるとは思いません。)

4

4 に答える 4

3

$('ul[id^="pika-"]')「pika-」で始まる ID を持つすべての ul を選択します

http://api.jquery.com/category/selectors/attribute-selectors/

于 2012-04-18T19:48:10.127 に答える
2

また、これはJSがjQueryのオーバーヘッドを必要としない1行であることを指摘したいと思います。

document.querySelectorAll("ul[id^=pika-]");​

そして、いくつかのエッジケースを処理するためのソリューション。

ライブデモ

var elements = [];

[].forEach.call(
    document.querySelectorAll("ul[id^=pika-]"),
    function(el){
        var check = /[0-9]$/;
        if(el.id.match(check)){
           elements.push(el); 
        }
     }
);

また、JayBlanchardのjsperfを編集し、ul識別子を付けてqsaを追加しました。qsaはjQueryよりも優れています(サプライズ)

http://jsperf.com/jquery-id-startswith/2 </ p>

于 2012-04-18T19:55:10.490 に答える
1
jQuery('ul').filter('[id^=”pika-”]')
于 2012-04-18T19:48:22.797 に答える
0

これを使用してください:

jQuery("[id^=pika]").pikaCho

したがって、「pika」で始まるidを持つすべての要素が影響を受けます。

于 2012-04-18T19:53:53.387 に答える