2

我正在使用JQTree创建测试数据的嵌套树视图。我想用红色文本突出显示失败。我正在使用var failText = $("span:contains('FAIL')");failText.css({'color': 'red'});在实际失败发生的地方执行此操作。但是,我还想突出显示上层父级,这样技术人员就不必搜索所有测试来找到失败的测试,他们只需查找红色标题文本,然后在那里钻取。

为了获得父文本,我尝试了几件事:

failText.parents('.jqtree-title-folder').css({'color': 'red'});

failText.closest('.jqtree-title-folder').css({ 'color': 'red'});

两者都不起作用。我也尝试过让 parent<span>和最接近<span>的,这两个都不起作用。

小提琴:http: //jsfiddle.net/delliottg/L6hdzene/

如何获得上层文本(在小提琴中,第二个测试标记为:“电气测试数据版本:SBE05 ”,它嵌套了“测试步骤名称 SET 2000 RPM ”并将其文本变为红色?我想将这两个都变为红色的文本位以及实际的结果文本(已经是红色的)。

4

2 回答 2

3

这可以解决问题,并通过红色向您显示FAIL的路径。

failText.parents('.jqtree-folder').find('> .jqtree-element > .jqtree-title-folder').css({
    'color': 'red'
});

更新了 jsfiddle

可能有一个性能更高的选择器来完成,但这很有效。

于 2014-10-24T18:39:39.320 回答
0

对于 CSS 更改,我这样做:

数据(例如 php):

if( true ) {
    $node["css"] = "{\"color\":\"red\",\"font-weight\":\"700\"}";
}
else{
    $node["css"] = "{\"color\":\"green\",\"font-weight\":\"400\"}";
}

在js中:

    $('#righttree_container').tree({
        data: data,
        onCreateLi: function(node, $li) {

            if (node.css) {
                var $title = $li.find('.jqtree-title');
                $title.css(jQuery.parseJSON(node.css));
            }
        },
于 2014-10-31T10:34:54.957 回答