1

私はそのようなIDを持つdivを取得しました:

<div id="drop_12_213_1">
<div id="drop_12_213_2">
<div id="drop_12_213_3">
<div id="drop_13_213_4">

私が知っている唯一のことはdroplast number(例:1)です。

jQueryでそれを選択するにはどうすればよいですか?

$('div[id^=drop_*_*_1]')動かない?

私は何を間違っていますか?

TIA frgtv10

4

1 に答える 1

3

jQuery は、既定では正規表現をセレクターとしてサポートしていません。それを可能にするフィルターがいくつかあります。

代わりにできることは、jQueryfilter()メソッドを使用することです。

$('div').filter(function() {
    return this.id.match(/^drop_\d+_\d+_1$/);
}).html("match");

これは基本的divにドキュメント内のすべての をチェックし、 filter() メソッドを使用して一致するかどうかを確認します。これは最速の方法ではないと思います。検索をできるだけ制限することもできますが (例: $('div', container_of_divs))、解析しようとしているものを見ると、速度よりも結果の方が重要なようです。

注意として、正規表現も間違っています。

drop_*_*_1次のように変換します。

  • dropに続く
  • _ゼロ回以上、
  • _ゼロ回以上、
  • _1

drop_1or drop__1or drop___...のようなものに一致します_1

リンク:

于 2012-08-28T12:49:30.090 に答える