[英]How can I compare two hex values?
我需要比较来自xml标记属性字段的两个十六进制值,我正在尝试这样做:
var fill = $(this).attr( "fill" );
// console.log( fill.toString(16) );
if ( fill === "#FF00FF" )
但是没有任何想法吗?
我想你必须在那里使用2个等号,试试这个......
var fill = $(this).attr( "fill" );
if ( fill == "#FF00FF" )
如果这不起作用,那么你可能不会识别$(this)
attr
返回一个字符串,不需要在其上调用toString
(并且该参数将被忽略,因为String
的toString
不接受参数)。
您的代码假设了以下几点:
该属性以#hex形式返回(如果它是一个颜色值,这不是真正的跨浏览器)。
这将是全部大写。
在记录值时不知道你看到了什么,我将只讨论第二部分:
var fill = $(this).attr( "fill" );
if ( fill.toUpperCase() === "#FF00FF" )
如果fill是一种颜色,则它可能以RGB格式返回。 当你记录它时,你写toString()
。 要么将它与RGB值进行比较,要么将其与字符串作为fill.toString(16)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.