ich den folgenden Code verwenden müssen, die ich von einem anderen SO Frage stahl,Der Versuch, eine Zeichenfolge zu entkommen als jQuery-Selektor
$('#'+'^`test'.replace(/[!"#$%&'()*+,.\/:;<=>[email protected][\\\]^`{|}~]/g, "\\\\$&"))
, die den folgenden Fehler erzeugt.
Uncaught Error: Syntax error, unrecognized expression: #\\^\\`test(…)
Ich habe nur einige IDs mit verrückten Charakteren, wie^und `, dass ich jQuery müssen nicht ersticken. Ich verstehe nicht, warum dieser Fehler passiert, denn wenn ich manuell die Schrägstriche in den String wie hinzufügen,
$('#'+'\\^\\`test')
dann es funktioniert gut. Was stimmt nicht mit der Regex-Methode?
Interessant, ich frage mich, wie das funktioniert. Ich denke, ich werde mit getElementById gehen, aber ich denke, das ist die direkteste Antwort auf meine Frage. – Moss
@Moss: Es ist ein [Attributwertselektor] (https://www.w3.org/TR/css3-selectors/#attribute-representation). Aber ja, 'getElementById' ist ein großartiger Ansatz (warum habe ich es nicht erwähnt ?!), wenn IDs" wild "sein können. '$ (document.getElementById (theId)). doSomething();' –
Was bedeutet, ich verstehe nicht, wie Ihre Lösung funktioniert, aber mein erster Versuch nicht. Etwas speziell für jQuery? – Moss