JavaScript 関数の名前にはsgetElementsByClassName
が付いています (HTML では、特定のドキュメント内で一意の s とは異なり、クラス名は同じページの複数の要素に関連付けることができるため)。id
ページのソース コードを見ると、classestemp
およびtempF
. 抽出するものに応じて、正しいもの (最初? 2番目?) を選択する必要があります。
例えば:
tempString = [deg stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('temp tempF')[0].innerText;"];
(stringWithFormat
フォーマットパラメータがない場合は使用する必要はありません。これはやり過ぎです。文字列リテラルを直接使用するだけです)
PS: 語彙について明確にするために、要素が<div class="temp tempF">
HTML で記述されているという事実は、これが と という 2 つの CSS の異なるクラスを適用する要素div
であることを意味することに注意してください。したがって、この要素は「クラス名を持つ要素」ではなく、「2 つのクラス名を持ち、それに適用される要素」です。temp
tempF
temp tempF
temp
tempF
ヒント: JavaScript をデバッグするには、Mac の Chrome や Safari などのブラウザーでページを開き、ページ インスペクターを表示して [コンソール] タブに移動し、ここに JavaScript コードを入力して、さまざまな式で少しテストします。あなたの場合、関数のタイプが間違っていて、名前に「s」がありませんでした。修正すると、結果がgetElementsByClassName
1 つだけでなく複数の要素を返すことがわかります。