11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous,

Je viens vers vous car je constate une chose étrange sur le comportemeent de find() avec ie8.

J'ai un document xml de ce type (version courte) :
<xml>
	<rep id="52e7a31d64c90" path="bibliotheque/miniatures" >
		<node type="img" id="52e7a31d73682" />
		<node type="img" id="52e7a31d738d4" />
		<node type="dir" id="52e7a31d73b03" />
		<node type="dir" id="52e7a31d74d3e"  />
	</rep>
	<rep id="52e7a31d762e6" path="bibliotheque/miniatures/test" >
		<node type="img" id="52e7a31d76633"  />
		<node type="img" id="52e7a31d768d9" />
		<node type="img" id="52e7a31d76ba0" />
	</rep>
	<rep  id="52e7a31d73b81" path="bibliotheque/miniatures/fsdfdf" >
		<node type="img" id="52e7a31d73e8b"  />
		<node type="img" id="52e7a31d7416a" />
		<node type="img" id="52e7a31d74543" />
		<node type="img" id="52e7a31d749fd"  />
	</rep>
</xml>


Je fais sur cet élément une recherche via la fonction find() ainsi :


MDC['PATH'] = "bibliotheque/miniatures";
$('#xml_element').find('rep[path="'+MDC['PATH']+'"] node').each(function() {
	// ici mon code qui émule un élément html
});


Sur tout les navigateurs, a l’exception de ie8, j'ai bien en résultat tout les éléments du 1er noeud rep
Sous Ie8, il me sort tout les éléments Qui vont contenir la chaine MDC['PATH']... et donc logiquement, si MDC['PATH'] = "bibliotheque/miniatures", il me sortira tout les path "bibliotheque/miniatures/xxx" etc...

wtf??? Smiley eek

Du coup je me demande si il existe des délimiteurs pour la requete find() ou si (j'ai déjà tenté) il faut metre un == pour forcer l'égalité stricte (et la réponse est non...)

Une idée "propre" ??

j'ai bien pensé ajouter de base un segment unique de fin de chaine pour forcer la chose du genre :

<rep long_path="bibliotheque/miniatures"  id="52e7a31d64c90" path="bibliotheque/miniatures[b]FINUNIQUENONMAISCQUOICEBORDEL!![/b]" previous="0" ></rep>

Mais c'est domage d'etre obligé d'ajouter des .split().join() "partout' ou je vais faire appel a cet info...
Modifié par bolchevian (29 Jan 2014 - 13:57)
C'est bon...

je viens de trouver pourquoi ie8 refusait mon script....
Ie8 ne comprend pas ceci :
 <node type="img" id="52e7a31d73682" />

il veux impérativement ceci :
 <node type="img" id="52e7a31d73682" ></node>

Modifié par bolchevian (29 Jan 2014 - 14:36)