document.getElementByTag
-
13-12-2019 - |
题
我已经使用了 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
. 不隶属于 StackOverflow