Второй параметр в вызове jQuery должен быть элементом, документом или объектом jQuery. Вы отправляете строку, поэтому она не соответствует никакому набору допустимых параметров. Я не уверен, как jQuery реагирует на недопустимые параметры, но я думаю, что он просто игнорирует строку и вместо этого ищет селектор в текущем документе.
Превратить строку в элементы, отправив ее в функцию jQuery:
content = $("#main", $(result));
Обратите внимание, что он превращает строку в элементы путем создания элемента div
и устанавливает строку как innerHTML
, поэтому строка должна быть фрагментом HTML, а не полным документом HTML.