Domanda

Ho già usato Document.getelementByID, ma non funziona più.Voglio ottenere il valore di 0,01 € ma non posso.Voglio salvarlo nel mio NSString *price ma come. Il codice HTML è

<tr class="price">
<td>0,01</td>
<td>EUR</td>
.

La mia idea era

NSString *price = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('price.td').innerText;"];
.

È stato utile?

Soluzione

Il tagname in questo caso è 'TD' NON 'PREZZO.TD', ma se si esegue document.getElementsByTagName('id') otterrai tutte le celle da tavolo nella pagina che probabilmente non è quello che vuoi.

Se la pagina ha jquery caricato in esso è possibile utilizzare jQuery('.price td:first').text() per ottenere il prezzo.

Se non ha jquery ma hai il controllo della pagina è possibile aggiungere una classe ad esso (<td class="my-price">12.44</td>) e prenderlo con document.getElementsByClassName('my-price')[0].innerHTML.

Se non hai il controllo della pagina e non ha jQuery, dovrai trovare la riga del "prezzo" e quindi ottenere la sua cella da 1 st usando document.getElementsByClassName('my-price')[0].childNodes[0].innerHTML.

Altri suggerimenti

Inoltre, un approccio più pulito e flessibile è quello di utilizzare gli API dei selettori:

http://www.w3.org/tr/selectors-api/

document.querySelector('.price td:first').innerText
.

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