gpt4 book ai didi

JQuery 1.7.1 似乎无法处理 HTML5 元素 ID

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:01 27 4
gpt4 key购买 nike

如您所知,HTML5 allows more characters to be used in ID names - 参见 the HTML5 spec现在,空格是唯一无效的字符。尝试将此与 JQuery 一起使用会显示 JQuery 忽略 ID 中特定有效字符“/”之后的所有字符。

<section>
<div id='foo/bar'>
YAAY
</div>
<div id='foo'>
BOO
</div>
</section> ​

记录“foo/bar”元素

console.log(​$(document).find('div#foo/bar')​​​​)​

显示返回的不正确元素:

[
<div id=​"foo">​
BOO
​</div>​
]

这同时使用了当前稳定的 JQuery (1.7.1) 和当前的 JQuery edge。

这是一个 JQuery 错误,还是我做错了什么?

最佳答案

转义斜杠(演示:http://jsfiddle.net/m9NT8/):

console.log(​$(document).find('div#foo\\/bar')​​​​)​

附言。 $(document).find('selector') 等同于 $(selector)

此行为在 Sizzle's source code, line 374 的正则表达式中定义:

ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,

关于JQuery 1.7.1 似乎无法处理 HTML5 元素 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9750670/

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