JQuery按内部文本选择

时间:2011-09-20 13:51:24

标签: jquery

我正在使用fullcalendar进行项目,我需要能够根据日期编号选择元素。以下是我需要选择的元素示例:

<div class=​"fc-day-number">​1​</div>​

这是我写的javascript:

$("div.fc-day-number:contains(" + day + ")").parent().parent().css({ 'background-color': 'Green' });

这将获取内部文本包含day变量的所有div,问题是if = = 1然后它还选择11,12,13,21,31等。如何编写一个JQuery选择器,它将使用类“fc-day-number”获取div并且其内部文本完全等于day?

3 个答案:

答案 0 :(得分:15)

编写自己的filter函数:

$("div.fc-day-number").filter(function (){
    return $(this).text() == day;
}).parent().parent().css({ 'background-color': 'Green' });

答案 1 :(得分:3)

$("div.fc-day-number").each(function (){
    if($(this).text()==day)
    {
        $(this).css({ 'background-color': 'Green' });
    }
});

答案 2 :(得分:0)

jQuery.expr[":"].text = jQuery.expr.createPseudo(function(arg)
{
    return function( elem ) {
        return jQuery(elem).text().toLowerCase() == arg;
    };
});

此代码将添加新的伪选择器,它将过滤元素不等于arg的内部文本。对于你的例子,请在这里使用:

$("div.fc-day-number:text(" + day + ")").parent().parent().css({ 'background-color': 'Green' });