jQuery升级后,未捕获异常:语法错误,无法识别的表达式:h3

jQuery升级后,未捕获异常:语法错误,无法识别的表达式:h3,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在开发一个新版本的网站,现在发现我的javascript代码有一个问题没有得到很好的处理 我过去一直在做的是 $('#lb_outer_title :h3').html(title); 它更改了我的lightbox的title属性的文本。这在jQuery 1.3.2中运行良好,但在新版本(使用jQuery 1.4.2)中,我得到了错误: uncaught exception: Syntax error, unrecognized expression: Syntax error, unr

我正在开发一个新版本的网站,现在发现我的javascript代码有一个问题没有得到很好的处理

我过去一直在做的是

$('#lb_outer_title :h3').html(title); 
它更改了我的lightbox的title属性的文本。这在jQuery 1.3.2中运行良好,但在新版本(使用jQuery 1.4.2)中,我得到了错误:

uncaught exception: Syntax error, unrecognized expression: Syntax error, unrecognized expression: h3
在新版本中,我可以将代码更改为以下内容,并且可以正常工作,但这不是最佳解决方案:

$('#lb_outer_title').html('<h3>'+ title + '</h3>');
$('lb#u outer_title').html(''+title+'');
在我的新版本中,我尝试了使用:first选择器,但也没有达到预期效果

以下是我正在使用的html(注意:我无法向h3标记添加类或id):


标题
不知道那个冒号在里面干什么。。。它不是有效的选择器<代码>:用于psuedo类,但您只需要一个元素

不知道那个冒号在里面干什么。。。它不是有效的选择器<代码>:用于psuedo类,但您只需要一个元素。

您的错误在这里:

$('#lb_outer_title :h3').html(title); 
应删除
h3
前面的冒号。jQuery 1.4有一个更严格的选择器引擎,这就是为什么它报告您的错误(因为您在元素选择器上使用了伪类前缀),而jQuery 1.3只是默默地解析冒号。

您的错误在这里:

$('#lb_outer_title :h3').html(title); 

应删除
h3
前面的冒号。jQuery 1.4有一个更严格的选择器引擎,这就是为什么它会报告您的错误(因为您在元素选择器上使用了伪类前缀),而jQuery 1.3只是默默地解析冒号。

只需删除
,如下所示:

$('#lb_outer_title h3').html(title); 

冒号前缀
,用于各种类型,您只需
h3
,.

只需删除
,如下所示:

$('#lb_outer_title h3').html(title); 

冒号前缀
,用于各种,您只需要
h3
,.

,尽管下面的答案纠正了这个问题。如果您的标题有特殊字符,您可能需要对其进行编码,在这种情况下,您应该使用
.text()
,对
.html()
进行加权,取决于你所坚持的内容。尽管下面的答案纠正了这个问题。如果你的标题有特殊字符,你可能需要对它们进行编码,在这种情况下,你应该使用
.html()
来加权
.text()
,这取决于你坚持的内容。