2013-04-02 31 views
0

我試圖把命名爲成品的UIWebView成一個字符串的「拇指」的所有DIV類的結果,但我不知道爲什麼的NSLog只顯示第一個div類拇指(應該是「拇指」的37個不同實例)上UIWebView的使用JavaScript來獲得所有特定的div類

我感謝您的幫助。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [[NSURLCache sharedURLCache] removeAllCachedResponses]; 

    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.thewebsite.com"]]]; 
} 

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    if (!webView.isLoading) 
    { 
     NSString *test = @"function f()" 
     "{" 
      "var theThumbs = document.getElementsByClassName('thumb');" 
      "for(var i=0; i < theThumbs.length; i++)" 
      "{" 
       "return(theThumbs[i].innerHTML);" 
      "}" 
     "}f()"; 

     NSString *input = [self.webView stringByEvaluatingJavaScriptFromString:test]; 

     NSLog(@"String is: %@", input); 
    } 
} 
+0

在您的for循環中,您稱之爲「返回」,因此您從第一次運行時的函數返回。我想你想追加到var,並在for循環結束時返回 – TommyBs

+0

你可以進一步詳細說明嗎?我對JavaScript不太瞭解。 – klcjr89

回答

1

當你調用

'return(theThumbs[i].innerHTML);' 

你是從功能上非常第一次迭代返回。它每次都不循環循環。您需要創建一個變量來保存這些值。

"var theThumbs = document.getElementsByClassName('thumb');" 
"var someString = '';" 
     "for(var i=0; i < theThumbs.length; i++)" 
     "{" 
      "someString +=(theThumbs[i].innerHTML);" 
     "}" 
"return someString;" 
+0

完美的作品。感謝您的幫助! – klcjr89

相關問題