0

ここからいくつかのコードを取得しました:-jQueryセレクター文字列を他の文字列と区別するにはどうすればよいですか-少し変更しました。ただし、一致を正しく機能させることができません。.testとの両方を試しました.exec

var htmlExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/;
if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 || htmlExpr.test( selector )) {
    return true;
} else {
    return false;
}

私は使用#mydiv<div class='gallery'>gallery</div>blahていますselector

どちらもtrueを返します。

私が行方不明になっているここで何が起こっているのですか?

4

1 に答える 1

1

#mydivこの部分の正規表現で具体的に確認したため、はtrueを返します。次のように、一致しない|#([\w\-]+)$ようにその部分を削除する必要があります。#mydiv

var htmlExpr = /^[^<]*(<[\w\W]+>)[^>]*$/;
if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 || htmlExpr.test( selector )) {
    return true;
} else {
    return false;
}

作業デモを見る

于 2012-11-08T19:22:19.047 に答える