gpt4 book ai didi

javascript - 格式正确的 HTML 字符串上的 jQuery() 导致语法错误,无法识别的表达式

转载 作者:可可西里 更新时间:2023-11-01 02:34:51 26 4
gpt4 key购买 nike

我有一个完整的 HTML 文档,我正在使用 $.ajax() 提取,我的 .done() 回调看起来像这样:

function (data, text_status, jq_xhr) {
var $what_i_want = $(data).find('#what-i-want');
}

其中 data 是一个包含完整格式良好的 HTML 文档的字符串。此代码永远不会到达 .find()

根据$(data),我得到:

`Uncaught Error: Syntax error, unrecognized expression: <!DOCTYPE html>`...

事实:

  • 我正在使用 jQuery 1.9.0
  • 根据 W3C 验证程序,该文档是格式良好的 HTML5。

我已经使用 jQuery() 来对象化许多 HTML 字符串,所以我很惊讶这不起作用。不可否认,我不记得曾经尝试过整个文档。鉴于错误,我猜,也许我需要以某种方式转义这个字符串。但我不确定如何。

顺便说一句,这行得通:

var $what_i_want = $('#what-i-want', $.parseHTML(data))

但我不明白为什么第一种方法会失败。

最佳答案

在处理各种其他页面的情况下,我遇到了同样的问题。对我来说,关键是阅读升级指南上 Brian 的链接。问题是这一页之前有一个空白行,所以即使我只是试图插入返回的 html 的一部分,它也没有考虑返回的数据是 html。来自升级指南

As of 1.9, a string is only considered to be HTML if it starts with a less-than ("<") character.

因为它以一个空行开始而不是 < 它不被认为是 html。我想我会添加这个贡献,因为我花了很长时间试图找出问题所在。

关于javascript - 格式正确的 HTML 字符串上的 jQuery() 导致语法错误,无法识别的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15103460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com