用于提取前景-背景颜色对的分析器
Parser to extract foreground background color pairs
假设网页是静态的,并且只有颜色源存在于CSS文件或HTML文件本身中,那么如何从网页中提取前景-背景颜色对。例如,在谷歌主页中,一些可能的颜色对是(假设Google是文本):
(前景,背景):(蓝色,白色),(红色,白色)(黄色,白色)、(绿色,白色)。
我正在考虑的方法是,我们可以检查网页的DOM树结构,然后从根节点HTML开始。在html或CSS中分配给父标记的(前景、背景)将是其所有子标记的默认颜色。但是,如果一个子类属于CSS中的某个特定类,则该类中定义的颜色属性将覆盖父类的颜色。请给出您对此或其他方法/工具的建议以获得结果。
这是我迭代子级的函数
function iterateChildren(elem){
var child = elem.children();
$.each(child,function(i,v){
iterateChildren($(this));
var pair = {fgHex:rgb2hex($(this).css('color')),bgHex:rgb2hex($(this).css('background-color'))};
colorPair.push(pair);
var tmp = {nodeName:$(this).get(0).nodeName,id:$(this).attr('id'),cssClass:$(this).attr('class'),colrhex:rgb2hex($(this).css('color')),colr:$(this).css('color'),bg:$(this).css('background-color'),bgHex:rgb2hex($(this).css('background-color'))};
result.push(tmp);
});
}
你可以这样称呼它:
var elems = $('body');
iterateChildren(elems);
我在这里为您创建了一个小提琴
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 动态更改高图中的系列颜色
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- jQuery动画-边框宽度和颜色
- JS幻灯片与CSS背景颜色变化
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 使用Angular单击时更改特定图示符图标的颜色
- 如何使用D3生成特定范围内的随机颜色
- 比较javascript中的浮动并更改最高浮动的颜色
- 改变所有<td>为特定的桌子点击颜色
- 用于提取前景-背景颜色对的分析器