2

この問題では、jQuery を使用して、リストボックス 'To' にリストボックス 'From' と一致する文字列が含まれているかどうかを確認しています。

しかし、1 つの文字列を使用すると、完全にフリーズします (IE8 または Chrome で同じ)。Developer Tools にも同じ問題があります (フリーズし、エラー メッセージは表示されません)。コードを実行する前に JavaScript エラーはありません。

ここにコード

$('#LstProposeTo option:contains('+ 'Verifier periodiquement annuellement les installations electriques par un personnel qualifie (entreprise ou organisme de contro' +')')[0]

いくつかのテストを試していますが、括弧がクラッシュに関係しているようです。しかし、これは機能しています:

$('#LstProposeTo option:contains('+ 'Vérifier périodiquement, annuellement les installations électriques par un personnel qualifié entreprise ou organisme de contrô' +')')[0]    
$('#LstProposeTo option:contains('+ '((((((((((Vérifier (((périodiquement(((, (((annuellement ((((les ((((installations (((((électriques ((((par (((((un personnel ((((((qualifié (((((entreprise ou organisme de contrô' +')')[0]
$('#LstProposeTo option:contains('+ '(Vérifier périodiquement, annuellement les installations électriques par un personnel qualifié entreprise ou organisme de contrô' +')')[0]
$('#LstProposeTo option:contains('+ 'Plan de Continuité d'Activité (PCA)' +')')[0]

では、この文字列「Vérifier périodiquement, annuellement les installations électriques par un personal qualifié (entreprise ou Organie de contro」) の問題点は何でしょうか?

ご協力いただきありがとうございます。

EDIT:コードはより複雑です(引用符内のテキストは変数から来ていますが、これだけがどのブラウザでもクラッシュします.

4

1 に答える 1

3

jQuery 1.3.2 以降のバグのようです

http://bugs.jquery.com/ticket/5607 " :contains() セレクターは括弧をサポートしていません"

このバグは他のバグの複製として提出されており、最終的に jQuery 1.8 で修正されたようです

http://bugs.jquery.com/ticket/3778

これが役立つことを願っています

于 2013-03-01T16:13:16.360 に答える