我需要比较来自xml标记属性字段的两个十六进制值,我正在尝试这个:
var fill = $(this).attr( "fill" );
// console.log( fill.toString(16) );
if ( fill === "#FF00FF" )
但是没有任何想法吗?
答案 0 :(得分:2)
我认为你必须在那里使用2个等号,试试这个......
var fill = $(this).attr( "fill" );
if ( fill == "#FF00FF" )
如果这不起作用,那么你可能不会识别$(this)
答案 1 :(得分:2)
attr
返回一个字符串,不需要在其上调用toString
(并且该参数将被忽略,因为String
的{{1}}不会参数)。
您的代码假设了以下几点:
该属性以#hex形式返回(如果它是一个颜色值,这在跨浏览器中是不可靠的。)
它将全部为大写。
在记录值时不知道你看到了什么,我将只讨论第二部分:
toString
答案 2 :(得分:0)
如果fill是一种颜色,那么它可能会以RGB格式返回。当你记录它时,你写toString()
。将其与RGB值进行比较,或将其与字符串fill.toString(16)