我想使用JavaScript检查UIWebView中是否存在类。这是我到目前为止所拥有的:

NSString* checkForWaldoCmd = [[NSString alloc] initWithString:@"document.getElementsByClassName('waldo');"];
NSString* wheresWaldo = [myUIWebView stringByEvaluatingJavaScriptFromString:checkForWaldoCmd];


我基本上想以某种方式检查页面中是否存在“ waldo”类。当我运行上面的代码时,无论该类是否存在,我都会得到一个空白字符串。有什么建议么?

最佳答案

使用stringByEvaluatingJavaScriptFromString:的主要技巧是评估可以轻松转换为字符串的表达式(本地简单类型通常可以工作:float,int和string)。在您的示例中,@“ document.getElementsByClassName('waldo');”将是没有简单字符串表示形式的NodeList类型,这就是为什么您得到一个空字符串的原因。例如,尝试使用waldo类获取元素列表的长度:

NSString *count = [myUIWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('waldo').length;"];
if ([count intValue] > 0){
   NSLog(@"Have elements of class waldo");
}else{
   NSLog(@"Don't have elements of class waldo");
}

09-30 13:14