UIWebView内のローカルHTMLでjavascriptを動かす

iOSアプリでローカルHTML(アプリ内に置いたHTML)を表示させるにはUIWebViewを使用します。cssjavascriptも実行することができます。javascriptを実行させるにはiOSを経由させなければなりません。動かし方は以下の通りです。

object-c
// jQueryを実行する
NSString *jqpath = [[NSBundle mainBundle]pathForResource:@"jquery-1.11.1.min" ofType:@"js"];
NSString *jqCode = [NSString stringWithContentsOfFile:jqpath encoding:NSUTF8StringEncoding error:nil];
[webView stringByEvaluatingJavaScriptFromString:jqCode];


ではもう少し具体的な例を見てみます。ローカル内でGET通信した際、GETデータを取得するためにjavascriptを使用します。

HTML
<a href="detail.html?id=1">一番の詳細表示</a>

このHTMLをクリックして以下のプログラムを動かします。

object-c
// IDを取得するためのJavascript・getid.jsを読み込みます
jspath = [[NSBundle mainBundle] pathForResource:@"getid" ofType:@"js"];
jsCode = [NSString stringWithContentsOfFile:jspath encoding:NSUTF8StringEncoding error:nil];
NSString *id = [self.webView stringByEvaluatingJavaScriptFromString:jsCode];
NSLog(@"id = %@", id);
javascript・getid.js
$(document).ready(function(){

        var url   = location.href;
        parameters    = url.split("?");
        params   = parameters[1].split("&");
  
        var paramsArray = [];
        for ( i = 0; i < params.length; i++ ) {
            param = params[i].split("=");
            paramsArray.push(param[0]);
            paramsArray[param[0]] = param[1];
        }
        var categoryKey = paramsArray["id"];
                  
        return categoryKey;
});

あれ?値が帰ってこないぞ。なぜだ…。jQueryが動いていないのだろうか?調べてみるとjQueryはきちんと動いています。変数categoryKeyにきちんと"1"が入っていました。returnだけされない。なぜ?jQueryはあまり詳しくありません。そこでjQueryをやめてみたところ、値を返しました。

javascript・getid.js改
function f(){

        var url   = location.href;
        parameters    = url.split("?");
        params   = parameters[1].split("&");
  
        var paramsArray = [];
        for ( i = 0; i < params.length; i++ ) {
            param = params[i].split("=");
            paramsArray.push(param[0]);
            paramsArray[param[0]] = param[1];
        }
        var categoryKey = paramsArray["id"];
         
        return categoryKey;
}
f();

webViewDidFinishLoadメソッドの際にjavascriptを実行させればjQueryでreadyを使用する必要はないですよね。jQueryに詳しい方、ご教授ください。
実行結果はNSLogに"id = 1"と表示されます。