Javascript字符串中的美元符号

Javascript字符串中的美元符号,javascript,string,Javascript,String,我想解析一个a元素并按货币设置区域 HTML: 欧元和英镑起作用了,但日元和美元起不了作用。有人有想法吗?。innerHTML可能会返回HTML实体&dollar。改用.textContent或.innerText。另外,由于price不能是两个不同的字符,我建议使用嵌套的else ifs而不是多个ifs 错误本身位于美元和人民币块:您使用的是=而不是普通的= price = document.getElementById("price").textContent; // or inne

我想解析一个a元素并按货币设置区域

HTML:


欧元和英镑起作用了,但日元和美元起不了作用。有人有想法吗?

。innerHTML
可能会返回HTML实体
&dollar。改用
.textContent
.innerText
。另外,由于
price
不能是两个不同的字符,我建议使用嵌套的
else if
s而不是多个
if
s

错误本身位于美元和人民币块:您使用的是
=
而不是普通的
=

    price = document.getElementById("price").textContent; // or innerText for IE
    price = price.charAt(0); // equal to .slice(0,1);

    if(price == "€") {
        area = "europe";
    } else if(price == "£") {
        area = "europe";
    } else if(price == "$") {
        area = "northamerica";
    } else if(price == "¥") {
        area = "asia";
    } else { // Default
        area = "Unknown";
    }
还有两种方法:

  • 开关块:

    switch(price) {
       case '€': case '£':
           area = 'europe';
       break;
       case '$':
           area = 'northamerica';
       break;
       case '¥'
           area = 'asia';
       break;
       default:
           area = 'unknown';
    }
    
  • 散列:

    var price = document.getElementById("price").textContent; //or innerText (IE)
    price = price.charAt(0);
    var priceToArea = {
         '€': 'europe',
         '£': 'europe',
         '$': 'northamerica',
         '¥': 'asia'
    };
    var area = priceToArea[price] || 'Unknown'; //Default Unknown
    

。innerHTML
可能返回HTML实体
&dollar。改用
.textContent
.innerText
。另外,由于
price
不能是两个不同的字符,我建议使用嵌套的
else if
s而不是多个
if
s

错误本身位于美元和人民币块:您使用的是
=
而不是普通的
=

    price = document.getElementById("price").textContent; // or innerText for IE
    price = price.charAt(0); // equal to .slice(0,1);

    if(price == "€") {
        area = "europe";
    } else if(price == "£") {
        area = "europe";
    } else if(price == "$") {
        area = "northamerica";
    } else if(price == "¥") {
        area = "asia";
    } else { // Default
        area = "Unknown";
    }
还有两种方法:

  • 开关块:

    switch(price) {
       case '€': case '£':
           area = 'europe';
       break;
       case '$':
           area = 'northamerica';
       break;
       case '¥'
           area = 'asia';
       break;
       default:
           area = 'unknown';
    }
    
  • 散列:

    var price = document.getElementById("price").textContent; //or innerText (IE)
    price = price.charAt(0);
    var priceToArea = {
         '€': 'europe',
         '£': 'europe',
         '$': 'northamerica',
         '¥': 'asia'
    };
    var area = priceToArea[price] || 'Unknown'; //Default Unknown
    
为了清楚起见,我还将使用switch语句:

switch (price)
{
    case "€":
    case "£":
        area = "europe";
        break;
    case "$":
        area = "northamerica";
        break;
    case "¥":
        area = "asia";
        break;
}
此外,为了清楚起见,我还将使用switch语句:

switch (price)
{
    case "€":
    case "£":
        area = "europe";
        break;
    case "$":
        area = "northamerica";
        break;
    case "¥":
        area = "asia";
        break;
}

您在应该使用赋值运算符的语句中使用了相等比较
=

您在应该使用赋值运算符的语句中使用了相等比较
=
=

为什么在比较中有反斜杠?为什么在比较中有反斜杠比较?如果要捕获意外输出,可以在第一个块中添加
else{area='N/A';}
,在
开关
块中添加
default:area='N/A'
,或
var-area=price-torea[price]| |“N/A”
在散列方法中。我认为您在这里漏掉了一个逗号
'$:“northamerica”
@ajax333221,现在已修复。如果您想捕获意外输出,可以在第一个块中添加
else{area='N/A'}
默认值:area='N/A'
开关
块中,或
var-area=pricetorea[price]| |散列方法中的“N/A”
。我想您在这里漏掉了一个逗号
'$:“northamerica”
@ajax333221发现得很好,现已修复。
    price = document.getElementById("price").textContent; // or innerText for IE
    price = price.charAt(0); // equal to .slice(0,1);

    if(price == "€") {
        area = "europe";
    } else if(price == "£") {
        area = "europe";
    } else if(price == "$") {
        area = "northamerica";
    } else if(price == "¥") {
        area = "asia";
    } else { // Default
        area = "Unknown";
    }