jQuery.ajax()で外部HTMLファイルを読み込んで要素を取得したい


jQuery.ajax()で外部HTMLファイルを読み込んで要素を取得したいのですが、  
find, filter関数でid名やクラス名を指定しても取得できません。どうしたら良いのでしょうか？  
ちなみに、同じクラス名をもつ複数の要素も配列で取得したいです。

[code]

    $(document).ready(function(){
        $.ajax({
            url:'http://yahoo.co.jp',
            type: 'GET',
            dataType: "html",
            success: function(res) {
            var data = $(res)[0].responseText; //文字列で取得できています
    
            var content = $(res.responseText).find('id名').text(); //取得できません
            console.log(content);  
    
            }
        });
    });
    
[/code]




jquery.xdomainajax.js＋サンプルコードで試したわけではないですが、ブラウザでyahooのソースを表示、コピーして試してみたところ、たしかに取得できない事象に遭遇しました。

原因ですが、帰ってきたレスポンスHTMLを、そのまま`$(レスポンスHTML)`というふうにjQuery関数に渡しても、正しくjQueryオブジェクトに変換できないようです。原因はHTMLの一行目にある以下の記述だと思われます。

[code]

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    
[/code]

jQueryはxmlをパースできないので、この文が悪さしているようです。  
試しにこの行を削ってみると上手くいきました。

[code]

    var $jq = $(レスポンスHTML.replace('<!DOCTYPE[^>]+>', ''))
    $jq.find('#dsearch').text() //=> "辞書"
    
[/code]

