SunnyRed ударил ногтем по голове.
Беда в том, что когда вы говорите:
$("#test",chk)
Вы ищете все элементы DOM внутри (и не включая) тега chk
. К сожалению, поскольку этот тег содержит #test
, ваш поиск ничего не находит. Рассмотрим документацию jQuery :
По умолчанию селекторы выполняют поиск в DOM, начиная с корня документа. Однако альтернативный контекст может быть задан для поиска с помощью необязательного второго параметра функции $ ().
Если вы оберните строку с корневым уровнем <div>
и затем попытаетесь выполнить поиск, вы получите то, что вам нужно:
var chk = "<div><div id='test'>Trying</div></div>";
alert($("#test", chk).html());
Живой пример см .: http://jsfiddle.net/GpdYz/