【问题标题】:How to print a pound "£" in html file?如何在html文件中打印英镑“£”?
【发布时间】:2014-08-02 08:09:05
【问题描述】:

我试图在我的 html 页面中显示一个井号。我想通过一个变量来显示它,因为我正在从一个 xml 文件中获取符号的值。

这是代码:

var sign = $('#currencySign').text();
$('#monthly_Amt').text("\'"+sign+"\'"+monthlypayment);
<div id="monthly_amt"></div>
<div id="currencySign">\u00A3</div>

输出是

'\u00A3'450.33

我希望它是£450.33

Fiddle

我该如何解决这个问题?

【问题讨论】:

  • 你必须使用 £
  • 我发现了问题并相应地更新了我的答案。
  • @Jack 撤回接近投票
  • @Mr.Alien 哦哦闪亮的新功能!
  • @Jack 他们提供了这种方式,从 1-2 个月开始就使用它(我猜)

标签: javascript jquery html html-entities


【解决方案1】:

它是:

&pound; 

&#163;

您可以在此处查看其他编码:

http://www.w3schools.com/html/html_entities.asp

这里有一个演示如何做到这一点: Online Demo

var sign = "&pound;";
$('#demo').html(sign+124.5);

【讨论】:

  • 这仍然会将实体呈现为纯文本,OP 使用的是正确的东西,但他需要 .html() 因为.text() 会失败...
【解决方案2】:

你可以使用\u00A3 ...

Demo

或者,您也可以将实体名称用作&amp;pound; 或将实体编号用作&amp;#163;,但您需要使用.html()NOT .text()

使用var 而不是Var


正如您评论的那样,我看到您在这方面遇到了更多麻烦,如果您愿意,您可以使用 CSS 之类的轻松完成此操作

#monthly_amt:before {
    content: "'£'"; /* Or you can use \00a3 instead of £ */
}

你的 jQuery 将是

var monthlypayment = 1000;
$('#monthly_amt').text(monthlypayment);

如果元素是动态生成的,你可以用.remove()去掉它

Demo 2

【讨论】:

  • 不知道为什么你删除了.text() ...它现在显示:你需要使用.html()而不是.text() =p
  • @Jack 就像=== operator :P 严格一个哈哈
  • 无论如何,你不需要.html()
  • @Jack 很奇怪,我用了那个对我不起作用的因为 .text()
  • 你能查一下this jsbin吗?我希望这不是浏览器的问题:)
【解决方案3】:

试试这个,

£   &pound; &#163;  &#xA3;  Pound Sterling

查看此链接

     http://webdesign.about.com/od/localization/l/blhtmlcodes-cur.htm

【讨论】:

    【解决方案4】:

    要打印井号,只需...打印井号:

    var sign = '£';
    
    $('#monthly_Amt').text(sign + monthlypayment);
    

    或者,如果这有点不舒服:

    var sign = "\u00A3";
    
    $('#monthly_Amt').text(sign + monthlypayment);  
    

    或者,用引号:

    $('#monthly_Amt').text("'" + sign + "'" + monthlypayment);  
    

    Demo

    更新

    看起来“变量”实际上来自 HTML 元素,但 \x00A3 仅适用于字符串文字。

    这个 HTML 修复了它:

    <div id="currencySign">&pound;</div>
    

    Demo

    【讨论】:

    • 对于JSON.parse(),你仍然需要双引号:)
    • E_TOO_MUCH_TROUBLE :)
    【解决方案5】:

    尝试使用:

    var sign = '&#163;'
    $('#monthly_Amt').html("\'"+sign+"\'"+monthlypayment);
    

    对于 £ 符号使用:£ (ASCII码)

    http://jsfiddle.net/seckela/7gjF5/

    编辑:使用 .text() 将呈现文字文本,.html 将其解释为 HTML 元素,并将使用 ASCII 代码呈现特殊的 ASCII 字符。

    【讨论】:

      【解决方案6】:

      使用&amp;#163

      $(this).text('&amp;#163;');
      
      • 如果你尝试这个,但它不起作用,只需更改 jQuery 方法,

        $(this).html('£');

      这始终适用于所有情况...

      【讨论】:

        【解决方案7】:

        也许你必须调查一下。

        <div id="divResponse">
        </div>
        
        $(document).ready(function () {
        var sign = "\u00A3"
        var monthlypayment = "5000"
        $('#divResponse').text(sign+monthlypayment);
        });
        

        这里是小提琴链接: poundExampleJSFiddle

        如果这对您有帮助,请标记为有帮助。

        谢谢

        【讨论】:

          猜你喜欢
          • 2014-11-25
          • 2019-11-27
          • 2016-10-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多