在UIWebView上使用Javascript来获取所有特定的div类

时间:2013-04-02 03:51:59

标签: javascript ios objective-c

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

感谢您的帮助。

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

1 个答案:

答案 0 :(得分: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;"