2009-07-23 3 views
11

Meine Html sieht wie folgt aus:Kann ich ein einzelnes Zitat in ein JQuery-Attribut self selector ([Attribut = Wert]) setzen?

 <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'); 
}); 

Ich kann die Wähler bekommen mit einem Apostroph in ihm zu arbeiten. Ich habe versucht, das Zitat mit einem "\", Backslash zu umgehen, aber das hat nicht geholfen.

Irgendwelche Ideen auf, was angeboten wird?

Antwort

13

Versuchen zwei

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

+1

Dank. Sollte das versucht haben b/f habe ich gepostet ... – orandov

3

Ich glaube, Sie einen doppelten Schrägstrich benötigen, seltsam genug. Etwas darüber, wie jQuery diesen Strings entgeht. Sie hätten also:

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

Das war in anderen Situationen der Fall. Lass es mich wissen, wenn das diesmal funktioniert.

5

Nichts davon war für mich in IE, also musste ich Filter verwenden():

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