我可以在JQuery属性中使用单引号等于选择器([attribute = value])吗?

时间:2009-07-23 21:36:46

标签: jquery css-selectors

我的Html看起来像这样:

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

我无法让选择器使用单引号。我尝试使用“\”反斜杠来逃避引用,但这没有帮助。

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

3 个答案:

答案 0 :(得分:14)

尝试两个

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

答案 1 :(得分:5)

这些在IE中都不适合我,所以我不得不使用filter():

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

答案 2 :(得分:3)

我认为你需要一个双反斜杠,奇怪的是。关于jQuery如何逃避这些字符串的事情。所以你有:

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

其他情况就是如此。如果这次有效,请告诉我。