Ist JQuery (..). html () fehlerhaft in jQuery 1.3.2?

8

Der Code hier gibt nicht zurück, was man erwartet:

%Vor%

Sie erhalten stattdessen:

%Vor%

Der jQuery-Quellcode in Frage:

%Vor%

Was wäre die Motivation hinter dem .replace ? Ich habe keine Zeit, über den Rest von jQuery zu gehen, aber Code wie dieser lässt mich fragen, ob ich überhaupt jQuery in der Produktion verwenden sollte.

    
t0yv0 31.08.2009, 11:41
quelle

2 Antworten

4

Dieser Code ist neu in 1.3.2, er war nicht in 1.3.1. Es sieht für mich so aus, als ob jQuery Attribute verwendet, deren Namen mit "jQuery" beginnen, um Daten über Elemente zu speichern, und dies ist die Art, diese Ihnen nicht zur Verfügung zu stellen, wenn Sie nach dem HTML-Code fragen.

Es ist eindeutig kein Fehler. Der Autor beabsichtigte, diesen HTML-Code vor der Rückgabe der Zeichenfolge zu entfernen.

Beeinflusst dies Ihren Code? Wie bei jeder Bibliothek sollten Sie Ihren Produktionscode gründlich testen, bevor Sie ihn bereitstellen.

    
Ned Batchelder 31.08.2009, 12:12
quelle
11
  

Was wäre die Motivation hinter dem .replace?

Um Attribute auszublenden, die jQuery für interne Zwecke verwendet.

  

Code wie dieser lässt mich fragen, ob ich überhaupt jQuery in der Produktion verwenden sollte.

Ja, ich hatte genau die gleiche Reaktion. Es ist einfach unglaublich schlampig. Der Versuch, HTML mit Regexp zu verarbeiten, ist die Art von naivem Hack, die man von Erstfragenpaketen erwartet, und nicht die Art von Verhalten, die man im Rahmen sehen möchte, so viele SO-Benutzer scheinen zu verehren.

Es ist nicht der einzige Ort, an dem jQuery auftaucht, wenn er versucht, Markup mit Regex zu analysieren; Ein Teil des Selektors ist auch kaputt. Das sind vielleicht dunkle Ecken, aber für mich ist es eine riesige rote Flagge, die auf einen falschen Ansatz hinweist.

    
bobince 31.08.2009 13:37
quelle

Tags und Links