アップデート:
jQuery 1.8 から、HTML 文字列を解析して DOM ノードの配列にする$.parseHTMLを使用できます。例えば:
var dom_nodes = $($.parseHTML('<div><input type="text" value="val" /></div>'));
alert( dom_nodes.find('input').val() );
デモ
var string = '<div><input type="text" value="val" /></div>';
$('<div/>').html(string).contents();
デモ
このコードで何が起こっているか:
$('<div/>')
<div>
DOM に存在しない偽物です
$('<div/>').html(string)
string
その偽物内に<div>
子として追加します
.contents()
そのフェイクの子を<div>
jQuery オブジェクトとして取得します
.find()
仕事をしたい場合は、これを試してください:
var string = '<div><input type="text" value="val" /></div>',
object = $('<div/>').html(string).contents();
alert( object.find('input').val() );
デモ