-1

如何在 Objective-C 中使用以下 javascript 代码?

var theFormId = $('form').filter(function() {
return this.innerHTML.indexOf('forgot your password') != -1;
}).attr('id');

如何在 UIWebView 的 stringByEvaluatingJavaScriptFromString: 方法中使用上面的代码?

我将上面的代码与 Objective-C 一起使用,如下所示:

NSString *formID = [NSString stringWithFormat:@"%@",[self.browser stringByEvaluatingJavaScriptFromString:@"$('form').filter (function() {var text = this.innerHTML.toLowerCase();" 
                        "return text.indexOf('forgot your password') != -1 || "
                        "text.indexOf('remember me') != -1;}).attr('id');"] ];

尝试记录 formID 时,它什么也不打印。我的代码中是否有任何语法错误?

4

1 回答 1

2

我不知道这是否可行,因为您只给出了问题的一小部分。

首先,您的 Javascript 看起来无效。我怀疑应该是:

var theFormId = $('form').filter(function() {
    var text = this.innerHTML.toLowerCase(); 

    return text.indexOf('forgot your password') != -1 || 
           text.indexOf('remember me') != -1;
});

我添加了一些右括号。

要使用您运行此 Javascript,-stringByEvaluatingJavaScriptFromString:您需要执行以下操作。

NSString *javascript = @"var theFormId = $('form').filter(function() { var text = this.innerHTML.toLowerCase(); return text.indexOf('forgot your password') != -1 || text.indexOf('remember me') != -1; });";

NSString *result = [webView stringByEvaluatingJavaScriptFromString:javascript];

我不确定result当你运行它时你会在字符串中得到什么。

于 2012-04-09T08:00:55.653 回答