jQuery选择器,包含等于

时间:2011-09-08 06:53:46

标签: javascript jquery jquery-selectors

我有下面的选择器

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

这会检查包含这个单词'like'对吗?

的选项

如何使用“like”这个词找到完全的选项?

像这样:

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

2 个答案:

答案 0 :(得分:23)

只需选择select中的所有选项,然后按text()值过滤它们:

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

答案 1 :(得分: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