我已经使用了 document.getElementById,但它不再起作用了。我想得到 0,01€ 的值,但我不能。我想把它保存在我的 NSString *price 但如何。HTML 代码是

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

我的想法是

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

解决方案

本例中的 tagName 是“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,您将必须找到“价格”行,然后使用以下方法获取其第一个单元格 document.getElementsByClassName('my-price')[0].childNodes[0].innerHTML.

其他提示

此外,更清洁和更灵活的方法是使用选择器API:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top