Frage

Ich habe document.getElementById bereits verwendet, aber es funktioniert nicht mehr.Ich möchte den Wert von 0,01€ erhalten, kann es aber nicht.Ich möchte es in meinem speichern NSString *price aber wie.Der HTML-Code ist

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

Meine Idee war

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

Lösung

Der tagName ist in diesem Fall „td“, nicht „price.td“, aber wenn Sie ausführen document.getElementsByTagName('id') Sie erhalten alle Tabellenzellen auf der Seite, was wahrscheinlich nicht Ihren Wünschen entspricht.

Wenn die Seite jQuery geladen hat, können Sie es verwenden jQuery('.price td:first').text() um den Preis zu bekommen.

Wenn jQuery nicht vorhanden ist, Sie aber die Kontrolle über die Seite haben, können Sie ihr eine Klasse hinzufügen (<td class="my-price">12.44</td>) und nimm es mit document.getElementsByClassName('my-price')[0].innerHTML.

Wenn Sie keine Kontrolle über die Seite haben und diese nicht über jQuery verfügt, müssen Sie die Zeile „Preis“ finden und dann mithilfe von die erste Zelle abrufen document.getElementsByClassName('my-price')[0].childNodes[0].innerHTML.

Andere Tipps

Auch ein sauberer und flexiblerer Ansatz ist die Verwendung der Selectors-API:

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

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top