Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery转义#步骤无法识别的表达式_Jquery - Fatal编程技术网

Jquery转义#步骤无法识别的表达式

Jquery转义#步骤无法识别的表达式,jquery,Jquery,我将jquery从2.14升级到2.2.0,但总是出现异常: 未捕获错误:语法错误,无法识别的表达式: li[数据目标^=#步骤] 代码: 问题在于#步骤 如何转义?从2.2.0版开始,当属性包含#字符时,似乎需要在属性值周围添加引号(值得指出的是,当删除字符#时,它会起作用) 请参见发行说明下的。显然这是一个错误修复 在内部,jQuery将尝试使用方法.querySelectorAll(),该方法抛出一个错误,指出li[data target^=#step]'不是有效的选择器(这就是为什么需要

我将jquery从2.14升级到2.2.0,但总是出现异常:

未捕获错误:语法错误,无法识别的表达式: li[数据目标^=#步骤]

代码:

问题在于
#步骤


如何转义?

从2.2.0版开始,当属性包含
#
字符时,似乎需要在属性值周围添加引号(值得指出的是,当删除字符
#
时,它会起作用)

请参见发行说明下的。显然这是一个错误修复

在内部,jQuery将尝试使用方法
.querySelectorAll()
,该方法抛出一个错误,指出
li[data target^=#step]'
不是有效的选择器(这就是为什么需要引号的原因):

未捕获的语法错误:未能在
文档上执行
querySelectorAll
li[数据目标^=#步骤]
不是有效的选择器

根据需要,您应该使用单引号:

var count = $("li[data-target^='#step']").length;

我从来没有遇到过任何问题。如果仔细查看所提供的链接,您将看到标题使用一种格式,而正文使用另一种格式。
var count = $('li[data-target^="#step"]').length;
var count = $("li[data-target^='#step']").length;