比较变量与测试字符串

时间:2014-06-03 08:15:48

标签: javascript jquery string sharepoint text

这是我的JQuery代码,我想将文本变量“text”中的文本与可能的CR状态(例如Approved Implemented)进行比较,但我不知道该怎么做。

_spBodyOnLoadFunctionNames.push("colouring");

function colouring(){
    var $th = $("div[Name='CR_x0020_Status']").parent().css("background-color","#66CD00");
    var $index = $th.index();
    $th.parent().parent().children(".ms-itmhover").each(function(index, elem) {
        var $div = $($(this).children("td").get($index));
        var text = $div.text();
        $("text:contains('Approved')").css("background-color","#66CD00");
    })
}

我尝试了不同的选择,但我仍然不知道该怎么做!

致以最诚挚的问候,并提前感谢您 的Matthias

2 个答案:

答案 0 :(得分:1)

您无法在jQuery选择器中放置变量。 $("text:contains(Approved)")表示标记为text且包含Approved的元素。你可以写:

if (text.indexOf('Approved') > -1)

但是你根本不需要.each()循环,你可以使用jQuery选择器完成所有操作:

$th.parent().parent().find(".ms-itmhover > td:contains(Approved)").css("background-color", "#66CD00");

答案 1 :(得分:0)

很难确切地说出你需要什么,但可能:

if(text == "Approved Implemented"){
    ...do more stuff here...
}

可能您需要复制现有的行并将其修改为另一种颜色:

$("text:contains('Approved')").css("background-color","#66CD00");
$("text:contains('Approved Implemented')").css("background-color","#0066CD");