我正在尝试将完成的UIWebView的所有名为“ thumb”的div类的结果放入字符串中,但是我不知道为什么NSLog只显示第一个div类thumb(应该是“ thumb”的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);
}
}
最佳答案
您打电话的时候
'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;"
关于javascript - 在UIWebView上使用Javascript获取所有特定的div类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15755753/