簡體   English   中英

如何比較兩個十六進制值?

[英]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 (並且該參數將被忽略,因為StringtoString不接受參數)。

您的代碼假設了以下幾點:

  1. 該屬性以#hex形式返回(如果它是一個顏色值,這不是真正的跨瀏覽器)。

  2. 這將是全部大寫。

在記錄值時不知道你看到了什么,我將只討論第二部分:

var fill = $(this).attr( "fill" );
if ( fill.toUpperCase() === "#FF00FF" )

如果fill是一種顏色,則它可能以RGB格式返回。 當你記錄它時,你寫toString() 要么將它與RGB值進行比較,要么將其與字符串作為fill.toString(16)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM