我想在html表格的当前选定行之后添加一个箭头(或“三角形”)(以突出显示所选内容,而不是使用背景颜色更改)。

三角形应面向左,例如“
我已经设法将一个类添加到当前选定的行中,我认为其余的操作只能在CSS中完成,但我无法做到。

小提琴:http://jsfiddle.net/j95f8met/

这是突出显示行的脚本:

document.querySelector('table').onclick = highlight;

function highlight(e) {
    e = e || event;
    var from = findrow(e.target || e.srcElement),
        highlighted = /highlighted/i.test((from || {}).className);
    if (from) {
        var rows = from.parentNode.querySelectorAll('tr');
        for (var i = 0; i < rows.length; i += 1) {
            rows[i].className = '';
        }
        from.className = !highlighted ? 'highlighted' : '';
    }
}

function findrow(el) {
    if (/tr/i.test(el.tagName)) return el;
    var elx;
    while (elx = el.parentNode) {
        if (/tr/i.test(elx.tagName)) {
            return elx;
        }
    }
    return null;
}


这是我的CSS:

tr.highlighted td {
    background: red;
}
tr.highlighted:after {
    border-bottom: 60px solid transparent;
    border-left: 60px solid green;
    border-top: 60px solid transparent;
    height: 0;
    width: 0;
    float:right;
}

最佳答案

“内容”必须解决您的问题;)

content: '';


http://jsfiddle.net/j95f8met/3/

10-07 14:05
查看更多