【问题标题】:Parse XMLHttpRequest.responseText with jquery用 jquery 解析 XMLHttpRequest.responseText
【发布时间】:2013-11-25 23:34:08
【问题描述】:

在执行 XMLHttpRequest 之后,如何使用 jquery 解析 responseText? 我试过了

var parsed = $.parseHTML(data);

但结果是 DOM 数组,我无法选择任何内容 $(parsed).find('#myIDobject') 左右。

【问题讨论】:

标签: jquery dom


【解决方案1】:

如果不是 DOM 元素的集合,那么您期望什么?

如果您尝试“查找”的元素位于根级别,则需要使用过滤器:

var parsed  = $.parseHTML(data); 

var element = $(parsed).filter('#myIDobject');

为了完全避免这个问题,你可以这样做:

var parsed  = $.parseHTML(data); 

parsed = $('<div />').append(parsed);

parsed.find('#anything');

【讨论】:

  • 为什么我不能直接在parsed上使用find()?
  • $.parseHTML() 返回一个 dom 节点数组,而不是一个 jquery 对象。
  • @ask 过滤器仅当您要查找的元素是 dom 集合中的顶级元素时才需要。 .find 仅查看当前选定元素的后代,而当您执行 $(parsed) 时,您将选择包含在 parsed 中的所有顶级元素。
  • 我怎样才能将回复字符串解析成一个 jquery 对象呢?我找不到所需的元素,也找不到 find()filter() 函数
  • @Ask 更新的答案应该可以回答您的问题。
猜你喜欢
  • 2021-05-18
  • 1970-01-01
  • 2011-02-21
  • 2011-11-15
  • 2010-09-18
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多