选择器以获取<span>文本的父级以更改其颜色</span>

时间:2014-10-24 18:28:15

标签: javascript jquery css jqtree

我使用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'});

两者都不起作用。我也试图让父母<span>&amp;最近的<span>,两者都不起作用。

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

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

2 个答案:

答案 0 :(得分:3)

这样做可以通过红色显示 FAIL 的路径。

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

更新了jsfiddle

可能有一个更高性能的选择器可以实现,但这可行。

答案 1 :(得分: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));
            }
        },