2010-01-20 7 views
5

Ho bisogno di selezionare un nodo di collegamento data la sua url. L'uso di un selettore di attributo funziona piuttosto bene, tranne che in alcuni rari casi in cui l'url ha una tilda. Non ho alcun controllo sugli URL di collegamento. Ecco un esempio:dojo.query non funziona per il selettore di attributo che include un carattere tilde (~)

<script> 
dojo.ready(function() { 
    var node = dojo.query('a[href="http://abc.com/~123"]')[0]; 
    console.debug(node); 
    node = dojo.query('a[href="http://abc.com/_123"]')[0]; 
    console.debug(node); 
}); 
</script> 
... 
<body> 
    <a href="http://abc.com/~123">link 1&lt;/a> 
    <a href="http://abc.com/_123">link 2&lt;/a> 
</body> 

Questo stampa:

undefined 
<a href="http://abc.com/_123"> 

ho guardato al livello 3 selettori spec e non ho trovato nulla sul carattere tilde essendo supportato per i valori degli attributi di selezione che sono solo i CSS stringhe.

Help!

+0

taggato come regressione. grazie per aver segnalato questo http://bugs.dojotoolkit.org/ticket/10651 – peller

+0

Hai provato a scappare dalla tilda? Ad esempio, se si utilizza una escape backslash, sarà relativamente semplice manipolare la stringa nella query URL. Inoltre, IIRC penso di aver riscontrato un problema simile con gli URL che includevano una e commerciale (non nei parametri). – Mikaveli

risposta

Problemi correlati