1

我有这个表格和几个div。问题是,一个div的颜色是用javascript随机设置的,另一个div的边框必须与第一个div的颜色相同。它变得更加复杂,因为几个 div 有一个类名。基本上我这里的意思是一个房子应该是一种颜色,而“屋顶”取决于内容,颜色是用js随机设置的。在这方面工作了很长时间,但似乎没有解决方案(

我想,javascript应该看起来像这样

document.getElementByClassName("roof").style.border-bottom-color = document.getElementByClassName("contents").style.background-color;

我的jfiddle 与 html 和 css

4

1 回答 1

1

如果您想保留“纯”JS,请查看以下方法:

document.getElementsByClassName("roof")[0].style.borderBottomColor = 

getStyle(document.getElementsByClassName("contents")[0], 'backgroundColor');

function getStyle(el,styleProp)
{
    if (el.currentStyle)
        return el.currentStyle[styleProp];

    return document.defaultView.getComputedStyle(el,null)[styleProp];
}

请注意,这会getElementsByClassName返回一组具有所有给定类名的元素。要访问所有这些并用随机颜色填充元素边框,我可以建议您像这样循环访问它们:

var yourElements = document.getElementsByClassName('className');
for(var i=0; i<yourElements.length; i++) { 
  yourElements[i].style.borderColor= "#RANDOM_COLOR";
}

高级技术是使用 jQuery,JustAnil 上面给出了正确答案。

希望能帮助到你。干杯!

于 2013-07-11T13:32:04.400 回答