Javascript JQuery获取/加载无法分析新DOM
我正在尝试通过AJAX加载另一个页面内容。它加载内容,但我在解析新内容时遇到问题 这是我的密码Javascript JQuery获取/加载无法分析新DOM,javascript,jquery,ajax,dom,Javascript,Jquery,Ajax,Dom,我正在尝试通过AJAX加载另一个页面内容。它加载内容,但我在解析新内容时遇到问题 这是我的密码 $.get(urlPath, function (content) { var newDom = $(content); var newTitle = newDom.find("title").text(); console.log(newDom); console.lo
$.get(urlPath, function (content) {
var newDom = $(content);
var newTitle = newDom.find("title").text();
console.log(newDom);
console.log(newDom.find(CLASS.MAIN_CONTENT));
console.log(newTitle);
$(CLASS.MAIN_CONTENT).replaceWith(newDom.find(CLASS.MAIN_CONTENT));
});
这不起作用,我从请求中获取有效内容,但仍然无法从新DOM中获取任何元素
下面是使用$(内容)
这里是contentconsole.log(content)
可能有什么问题,为什么这样做不起作用?首先,请注意,使用
$()
解析该HTML将丢弃部分内容,因为$()
希望解析的是正文内容,而不是完整的文档。因此,看起来应该嵌套在结构中的元素可能最终位于jQuery对象的顶层。例如:
var内容=$(
"" +
"" +
“示例”+
"" +
“你好”+
"" +
""
);
console.log(content.length);//2.
content.each(函数(){
console.log(this.tagName);//标题,P
});代码>
解决方案
var newDom = $('<div></div>').append($.parseHTML(content));
document.title = newDom.find("title").text();
$(CLASS.MAIN_CONTENT).replaceWith(newDom.find(CLASS.MAIN_CONTENT));
var newDom=$('').append($.parseHTML(content));
document.title=newDom.find(“title”).text();
$(CLASS.MAIN_CONTENT).replace为(newDom.find(CLASS.MAIN_CONTENT));
谢谢您的回答,在这种情况下,我如何解析新标题?我只需要将带有CLASS.MAIN_内容选择器的新块添加到现有DOM中,以替换旧块one@HelloMufecayo例如我不明白这个问题。您可以使用从过滤器
(或查找
,或两者的组合)获得的jQuery对象。我使用了这个解决方案,效果很好