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

时间:2010-09-07 20:43:31

标签: jquery jquery-selectors

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

我过去一直在做的是

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

更改了灯箱的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>');

我在新版本中尝试过使用:第一个选择器,但这也不能按预期工作。

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

 <div id="lb_outer_title">
   <h3>Title</h3>
  </div>

3 个答案:

答案 0 :(得分:4)

你的错误在这里:

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

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

答案 1 :(得分:3)

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

不确定冒号在那里做了什么......它不是一个有效的选择器。 :用于伪类,但你只需要一个元素。

答案 2 :(得分:2)

只需删除:,如下所示:

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

冒号前缀:用于各种pseudo selectors,您只需要h3element selector