0

我正在尝试将完成的 UIWebView 的所有名为“thumb”的 div 类的结果放入一个字符串中,但我不知道为什么 NSLog 只显示第一个 div 类 thumb(应该是 37 个不同的“thumb”实例)

我感谢您的帮助。

- (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);
    }
}
4

1 回答 1

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;"
于 2013-04-02T14:48:09.117 回答