Domanda

Sto usando jQuery per analizzare un feed RSS. All'interno di ogni <item> è un elemento namespace come <content:encoded> voglio selezionare. Come faccio a selezionare in jQuery?

$(xml).find('item') works but $(xml).find('item content') does not.
È stato utile?

Soluzione

viene caricata l'XML tramite Ajax? Quindi, assicurarsi che il server imposta il tipo di contenuto come 'text / xml' non si e 'text / html'.

Inoltre, assicurarsi che il nome del tag dell'elemento che si desidera è davvero contenuto e non qualcos'altro (come content: encoded). In tal caso, provare:

.find('item content\\:encoded')?

I caratteri speciali come:. Necessità di essere fuggiti in selettori di jQuery

Altri suggerimenti

Mi rendo conto che questa discussione è piuttosto vecchio, ma è il primo che viene in su in google durante la ricerca di questo con jQuery. Il modo più semplice per fare la ricerca è con:

.find('[nodeName="content:encoded"]')

La speranza che aiuta qualcuno. Ho passato le ultime ore a cercare di capire un modo semplice per accedere a tali tag.

.find('[nodeName="content:encoded"]') lo fa raffinate opere in Chrome e alcuni browser meno recenti.

Questo è quello che ho ottenuto da una ricerca

  

selettori di jQuery non sono   namespace-consapevoli, in modo da utilizzare solo   getElementsByTagName (piuttosto che   getElementsByTagNameNS) per recuperare   elementi di loro attributo nodeName   (Piuttosto che con localName e   namespaceURI).

Sembra che avete bisogno di farlo in js regolari usando il document.getElementsByTagNameNS(namespace, tagname)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top