javascript 函数的名称getElementsByClassName
带有一个s(因为在 HTML 中,与id
给定文档中唯一的 s 不同,一个类名可以归属于同一页面的多个元素)。
如果您查看页面的源代码,您实际上可以看到有多个元素标记为 classestemp
和tempF
. 您需要根据要提取的内容选择正确的(第一个?第二个?)。
例如:
tempString = [deg stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('temp tempF')[0].innerText;"];
(stringWithFormat
如果没有格式参数就不用了,那太矫枉过正了,直接用字符串字面量就行了)
PS:为了清楚词汇,请注意元素是用<div class="temp tempF">
HTML 编写的,这意味着这是一个div
应用两个 CSS 不同类的元素,即temp
和tempF
。所以这个元素不是“具有类名的元素temp tempF
”,而是“具有两个类名temp
并tempF
应用于它的元素”。
提示:要调试您的 javascript,请在 Mac 上的 Chrome 或 Safari 等浏览器中打开页面,显示页面检查器并转到控制台选项卡,以便您可以在此处键入 javascript 代码并使用不同的表达式进行一些测试。在您的情况下,您会看到您的函数输入错误,名称中缺少“s”,并且一旦更正,您会看到getElementsByClassName
返回多个元素的结果而不仅仅是一个。