下のjquery検索方法を使用して文字列を検索しても、うまくいきますが、文字列に '*'マークがある場合は検索しません。文字列にアスタリスク記号がある場合jquery検索機能が動作しません
$(this).html().search(a)
これは 'A' とまでは正常に動作します '$(この)の.html()。検索(A)' '*' アスタリスクマークを持っていません。 'a'と '$(this).html()'の両方が* markと同じ文字列の場合、失敗します。
下のjquery検索方法を使用して文字列を検索しても、うまくいきますが、文字列に '*'マークがある場合は検索しません。文字列にアスタリスク記号がある場合jquery検索機能が動作しません
$(this).html().search(a)
これは 'A' とまでは正常に動作します '$(この)の.html()。検索(A)' '*' アスタリスクマークを持っていません。 'a'と '$(this).html()'の両方が* markと同じ文字列の場合、失敗します。
serach()はjquery関数ではありません。それはjavascript functionです。正規表現を受け入れます。 正規表現によれば、*は前の文字の0回以上の一致が一致することを意味する特殊文字です。 アスタリスクをエスケープしてください:\\ *
jQueryのtext()
を使用すると、出力を自動的にエスケープできます。例えば、http://api.jquery.com/text/ これはあなたの質問にも関連しています:Escaping HTML strings with jQuery
ありがとうございますmauretto、問題は$(this).html()はforループの中にありますので定数ではありません。アスタリスクがあれば自動的にエスケープする方法はありますか? – antnewbee
@antnewbeeループであなたの質問を編集すると、コミュニティがあなたを助けます。 – mauretto