如何使用jQuery为属性添加字符十进制值及摄氏度字符赋值求助
用jQuery把字符十进制值添加到元素属性的解决方法
先给你提个小细节:你提到的℉其实是**华氏度符号(°F)**的HTML十进制实体,摄氏度对应的十进制实体是℃,别搞混啦~
接下来咱们一步步解决你的问题:
一、核心方法:把字符十进制值加入元素属性
要实现这个需求,有两种实用的方式,根据你的习惯选就行:
1. 直接用字符本身
如果你能直接输入目标字符(比如°或者°F),最简单的方式就是把字符写在字符串里:
$("#degree-toggle").attr("value", "°F");
2. 用JavaScript的字符转换方法
如果必须用十进制值来生成字符,JavaScript提供了两种方式:
- 方式一:十六进制转义序列
先把十进制值转成十六进制(8457转十六进制是2109),然后用\u前缀的转义序列:$("#degree-toggle").attr("value", "\u2109"); // 对应℉,也就是°F - 方式二:
String.fromCharCode()方法
直接把十进制值传给这个方法,它会帮你生成对应的字符:$("#degree-toggle").attr("value", String.fromCharCode(8457));
二、修正你的代码问题
你原来的代码$("#degree-toggle").attr("value", ℉);有两个问题:
℉是HTML实体,JavaScript不认识它,直接写会报错;- 要确保jQuery代码在DOM加载完成后执行,不然找不到目标元素。
给你整理了完整的正确代码示例:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="button" id="degree-toggle" checked="checked"> <script> // 等待页面DOM加载完成再执行代码 $(document).ready(function() { // 选一种你喜欢的方式就行 $("#degree-toggle").attr("value", "°F"); // $("#degree-toggle").attr("value", String.fromCharCode(8457)); // $("#degree-toggle").attr("value", "\u2109"); }); </script>
额外提示
如果要添加的是摄氏度符号,只需要把对应的十进制值8451代入即可,比如String.fromCharCode(8451),或者直接写"°C"也可以。
内容的提问来源于stack exchange,提问作者Gaurav Thantry
相关产品推荐
相关产品推荐

