2009-07-23 62 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'); 
相關問題