2012-07-28 40 views
0

我已經使用document.getElementById,但它不再工作。我想獲得0.01歐元的價值,但我不能。我想將它保存在我的NSString *price但是如何。 的HTML代碼是document.getElementByTag

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

我的想法是

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

標籤應該是TR和你只有取得這樣的成績的機會在JavaScript是枚舉所有這些查找屬性類=='price'或使用一些高級JQuery表達式來選擇符合條件的特定節點。我的經驗告訴你,如果你從表格開始,你可能會更幸運。您的問題不夠詳細,無法真正幫助您,我相信您以錯誤的方式接近問題 – 2012-07-28 20:37:07

回答

0

在這種情況下的標記名是「TD」而不是「price.td」,你要是跑不過document.getElementsByTagName('id')你會得到所有的表格單元格在這可能不是你想要的頁面。

如果頁面中已加載jQuery,則可以使用jQuery('.price td:first').text()來獲取價格。

如果它沒有jQuery,但你有頁面的控制權,你可以給它添加一個類(<td class="my-price">12.44</td>),並通過document.getElementsByClassName('my-price')[0].innerHTML得到它。

如果你沒有頁面的控制權,並且沒有jQuery,你需要找到'price'行,然後使用document.getElementsByClassName('my-price')[0].childNodes[0].innerHTML來得到它的第1個單元格。

+0

感謝您的幫助。你向我展示了正確的方式。現在我這樣做了:NSString * price = [captcha stringByEvaluatingJavaScriptFromString:@「document.getElementsByClassName('price')[0] .innerText;」]; – 2012-07-28 20:47:17

+0

我甚至不確定那會做什麼。我想它會返回所有單元格中的文本。 – Vatev 2012-07-28 20:52:44