我正在尝试将已完成的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);
}
}
答案 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;"