jQuery.find() mit Doppelpunkt im Tag

jQuery eignet sich hervorragend zum Parsen von RSS-Feeds bzw. von XML-Dokumenten im Allgemeinen:

var xml = $(data); //wobei data ein XML-String bspw. eines RSS-Feeds ist

Allerdings kommt es bei der Verwendung von Tags mit Doppelpunkten (evtl. auch bei anderen Sonderzeichen) zu Komplikationen, sofern man einzelne Nodes des XML-Strings via jQuery.find() auslesen möchte. Umgehen lässt sich dass, indem der Parameter (in diesem Fall der Name des Tags) escaped wird:

xml.find("foo\\:bar").text();

Allerdings ist diese Problemlösung inkompatible mit Webkit-Browsern. Abhilfe schafft es, den ersten Teil des Tags zu ignorieren:

xml.find("bar");

In Kombination ergibt das:

var xml = $(data);
if (xml.find('bar').length === 0) {
    return xml.find('foo\\:bar').text();
}
return xml.find('bar').text();