【问题标题】:jQuery selector, contains to equalsjQuery 选择器,包含等于
【发布时间】:2011-09-08 06:53:46
【问题描述】:

我有以下选择器

    var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                                            .find("option:contains('LIKE')");

这会检查一个包含单词“like”的选项,对吗?

我如何找到一个完全带有“like”字样的选项?

类似这样的:

     var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                                            .find("option:equals('LIKE')");

【问题讨论】:

    标签: javascript jquery jquery-selectors


    【解决方案1】:

    只需从select 中选择所有选项并按text() 值过滤它们:

    var likeComperssionOption = $('select[id*=ComparisionType]:first option').filter(function() { return $(this).text() == "LIKE" });
    

    【讨论】:

    • 它没有用。 “喜欢”在文本中。当我使用警报显示警报的值时(likeComperssionOption.val());我不确定。但是当我使用“conatins”(如问题)时,相同的警报显示“3”
    • 成功了,谢谢。我有“喜欢”的空格,这就是为什么它对我不起作用。有修剪功能吗?
    • 已修复。 return jQuery.trim($(this).text()) == 'LIKE';
    【解决方案2】:

    如果要根据选项的value 属性进行选择,则需要使用attribute equals selector 为其value 属性选择具有特定值的元素:

    var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                               .find("option[value='LIKE']")
    

    否则,要根据选项的显示文本进行选择,请使用:

    var likeComperssionOption = $('select[id*=ComparisionType]').eq(0)
                               .find("option").filter(function() {
                                   return $(this).text() == 'LIKE';
                               });
    

    更新:您的初始选择器可能有一些问题,看起来很奇怪。你可能应该改变

    $('select[id*=ComparisionType]').eq(0)
    

    简单的事情

    $('#ComparisionType')
    

    这个答案的概念很好,你可以see it in action here

    【讨论】:

    • 我可以有 value="1" 和 text="LIKE": <option value="1">LIKE</option>
    • 它没有用。 “喜欢”在文本中。当我使用警报显示警报的值时(likeComperssionOption.val());我不确定。但是当我使用“conatins”(如问题)时,相同的警报显示“3”
    • @Aharon:它对我有用。查看我的更新并查看链接。
    • 成功了,谢谢。我有“喜欢”的空格,这就是为什么它对我不起作用。有修剪功能吗?
    • 已修复。 return jQuery.trim($(this).text()) == 'LIKE';
    猜你喜欢
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 2011-11-16
    • 2011-02-16
    • 1970-01-01
    相关资源
    最近更新 更多