Javascript 将十六进制颜色传递到函数时firefox中的非法字符

Javascript 将十六进制颜色传递到函数时firefox中的非法字符,javascript,string,escaping,Javascript,String,Escaping,我有一个函数调用,我正试图将一个十六进制颜色(#000000)传递给一个函数,但我一直在firebug中得到一个非法字符调用,该函数失败 我假设是颜色开头的“#”导致了这种情况 我应该: a、 摆脱困境 b、 只需传递颜色代码减去散列即可 我每个人的问题是 a、 当我尝试转义时,我遇到了一个问题,因为颜色是变量的子字符串,转义字符使子字符串调用无法工作 var linecolor="\"+content.substr(content.search("#"),7); b、 当我仅将“000000

我有一个函数调用,我正试图将一个十六进制颜色(#000000)传递给一个函数,但我一直在firebug中得到一个非法字符调用,该函数失败

我假设是颜色开头的“#”导致了这种情况

我应该:

a、 摆脱困境

b、 只需传递颜色代码减去散列即可

我每个人的问题是

a、 当我尝试转义时,我遇到了一个问题,因为颜色是变量的子字符串,转义字符使子字符串调用无法工作

var linecolor="\"+content.substr(content.search("#"),7);
b、 当我仅将“000000”传递给函数时,它仅作为“0”接收


有什么想法吗?

你想试试这样的吗

var content = "#222222"

function showColor(content){
 alert(" content="+content); 
}

showColor(content);
试一试


你能发布你的代码吗?或者需要十六进制颜色的函数?当你传递000000时,它会收到0,因为它像整数一样交互,尝试使用字符串而不是var,然后将“000000”作为字符串传递:)@Gintas K ok我将行更改为var linecolor=new string(content.substr((content.search(#“)+1),6);但另一方面,它仍将其解读为整数side@Moazzam代码为var linecolor=content.substr(content.search(“#”)7);更改ShapeLineColor(“+i+”,“+linecolor+”);收到它的函数是函数changeshapelinecolor(i,content){alert(“i=“+i+”content=“+content”);}那么你能给我们看一下这个函数吗?是的,但是content是另一个字符串的子字符串,它是“我正在尝试提取边框颜色并发送到函数,第一行var linecolor=new string稍有变化(content.substr((content.search(#“)+1),6));这很好地解决了问题:)传递给.substr方法的第二个索引是子字符串末尾的索引,而不是子字符串的符号数:)
var linecolor = new String(content.substr((content.search("#")+1),(content.search("#")+7)); 
function showColor(linecolor){
alert(" content="+linecolor); 
}
showColor(linecolor);