代码之家  ›  专栏  ›  技术社区  ›  flybywire

突出显示HTML元素的纯JavaScript代码

  •  5
  • flybywire  · 技术社区  · 16 年前

    为了调试一些JavaScript代码,我正在寻找能够突出显示一个DIV或SPAN的JavaScript代码(最好是JS,没有库和依赖项)(可能是通过将大小和形状相同的DIV或SPAN加上明亮的颜色和一些透明度)。

    我很肯定能做到,但我不知道怎么开始。

    澄清

    我需要在元素的顶部放置一个半透明的DIV。修改背景或添加边框没有帮助,因为我的元素有自己的背景和边框。

    4 回复  |  直到 16 年前
        1
  •  13
  •   Eli Grey    16 年前
    element.style.backgroundColor = "#FDFF47";
    

    #FDFF47是一种很好的黄色阴影,非常适合突出显示。

    编辑以便澄清: 你太复杂了。如果您想还原以前的背景色,只需存储 element.style.backgroundColor 稍后访问。

        2
  •  7
  •   Blixt    16 年前

    如果您在支持CSS的浏览器中调试 outline ,一个简单的解决方案是:

    myElement.style.outline = '#f00 solid 2px';
    
        3
  •  1
  •   Christoph    16 年前
    function highlight(element) {
        var div = highlight.div; // only highlight one element per page
    
        if(element === null) { // remove highlight via `highlight(null)`
            if(div.parentNode) div.parentNode.removeChild(div);
            return;
        }
    
        var width = element.offsetWidth,
            height = element.offsetHeight;
    
        div.style.width = width + 'px';
        div.style.height = height + 'px';
    
        element.offsetParent.appendChild(div);
    
        div.style.left = element.offsetLeft + (width - div.offsetWidth) / 2 + 'px';
        div.style.top = element.offsetTop + (height - div.offsetHeight) / 2 + 'px';
    }
    
    highlight.div = document.createElement('div');
    
    // set highlight styles
    with(highlight.div.style) {
        position = 'absolute';
        border = '5px solid red';
    }
    
        4
  •  0
  •   robjmills    16 年前

    你用萤火虫吗?这使得识别DOM元素变得非常简单,并在您浏览DOM时在页面中突出显示它们。