1

最終目的...特定の属性/値を持つDIVのグループを取得し、要素タイプを更新して、属性と値を操作する...

次のシナリオをテストするために正規表現を使用したいと思います(上記の目的に基づいて正しいと思います)

  • オープニングDIVごとに
  • attribute-to-check属性 を含む
    • 属性は最初の属性である場合とそうでない場合があります
  • を含む値がありますvalue-contains
    • 値は、属性の最初の値である場合とそうでない場合があります(将来の拡張を可能にします)
  • その最後のDIV を見つける
    • このDIV自体には、他のDIVが含まれている可能性があります。これは、一致する他のDIVも含まれます。

それで、私は何を試しましたか?...テストスクリプトの使用:

<p>test1</p>
<DIV attribute-to-check='notvalid'>
  test2
</DIV>
<p>test3</p>
<DIV attribute-to-check='value-contains:2012-12-12' class='test4'>
  test5
</DIV>
<p>test6</p>
<DIV attribute-to-check='value-contains:2012-01-01' class='asd'>
  test6
</DIV>
<p>test7</p>

私は次の正規表現まで持っています...

<?DIV.*?attribute-to-check='value-contains:.*?>(.*?)</DIV>

しかし、これは戻ってきます

string 1: "<DIV attribute-to-check='notvalid'>test2</DIV>test3<DIV attribute-to-check='value-contains:2012-12-12' class='test4'>test5</DIV>"

string 2: "<DIV attribute-to-check='value-contains:2012-01-01' class='asd'>test6</DIV>"

test2これはチェックする属性を持つ開始divを持っているので、string1に戻ってきていると思います、値は無効ですか?だから私は最初のDIVを取得し、次に他のDIVを見つけるまで任意attribute-to-check='value-contains:の数の文字を取得し、その後DIVを閉じるのかどうか疑問に思っていますか?

私はこの時点からナビゲートするのに苦労しており、コミュニティからのヘルパーに感謝します:)

ありがとうディラン

4

1 に答える 1

0

HTMLに正規表現を使用しないでください。いいえ真剣に、しないでください。

JQueryには、本当にやりたいことを実行するための優れたセレクター構文があります。ここを見てください。ドキュメントの上部に、必要な方法を実行する方法が示されています。

例えば:

$('div[attribute-to-check|="value-contains:"]')

必要な属性/値の制約を持つdivを生成します。

于 2012-10-02T10:48:33.843 に答える