2009-07-23 64 views
11

我的HTML看起来像这样:我可以在JQuery属性equals选择器([attribute = value])中放置单引号吗?

 <a href="#" id="QuoteTest">Click Here</a> 
     <ul> 
      <li title="this" style="position:relative">one</li> 
      <li title="this" style="position:relative">two</li> 
      <li title="tha't" style="position:relative" >three</li> 
      <li title="tha't" style="position:relative">four</li> 
     </ul> 

的Jquery:

$('a#QuoteTest').click(function() { 
    $('li[title=this]').animate({ 'left': '+=40px' }, 'slow'); 
    $("li[title=tha't]").animate({ 'top': '+=40px' }, 'slow'); 
}); 

我不能选择在这一个单引号工作。我尝试用“\”反斜杠转义引用,但这并没有帮助。

任何想法是什么提供的方式?

回答

13

要做两

$("li[title=tha\\'t]").animate({ 'top': '+=40px' }, 'slow');

+1

感谢。应该试过我发布的B/F ... – orandov 2009-07-23 21:44:21

3

我想你需要一个双反斜线,奇怪的是。关于jQuery如何转义这些字符串的东西。所以你会有:

$("li[title=tha\\'t]").animate({ 'top': '+=40px' }, 'slow'); 

在其他情况下就是这种情况。让我知道这次是否有效。

5

这些都不在IE为我工作,所以我不得不使用过滤器():

$("li").filter(function(index){ 
    return $(this).attr("title") == "tha\'t"; 
}) 
.animate({ 'top':'+=40px' }, 'slow'); 
相关问题