当某些事件发生时,我正在尝试替换段落末尾的符号。原始符号是一个方框☐我在代码中使用它的ASCII。
示例段落将是问题编号:1☐
此符号将替换为方框内的符号,其中包含十字☒
SO最后一段想要问题编号:1☒
更改结束符号的例程如下:
$(document).on("change", 'input[type=radio]', function (e) {
e.preventDefault();
var x = $(this).attr('id');
var y = x.substring(17);
var z = $("#QuestionBankLink"+y).text();
var a = z.substring(0,13);
var b = a + " ☒";
$("#QuestionBankLink"+y).text(b);
});
正如可以理解段落的id是QuestionBankLink后跟一个数字(基本上是参考)
现在我的问题是当代码执行时一切正常,除了最后我得到ASCII的完整字符集而不是符号这一事实。所以我得到的是:
问题编号:1☒
我哪里错了?
答案 0 :(得分:2)
将$("#QuestionBankLink"+y).text(b);
更改为$("#QuestionBankLink"+y).html(b);
.text()
方法完全按照字符串中的方式注入文本,包含所有标记和实体
答案 1 :(得分:1)
您不需要获取子字符串来查找字符并替换。在Jquery replace
函数中,您可以直接提供替换字符,如下所示。
$("#QuestionBankLink"+y).text($("#QuestionBankLink"+y).text().replace('☐','☒'));
我附上了
下面的演示片段
$(document).ready(function() {
$('#replace').click(function(){
$("p").text($("p").text().replace('☐','☒'));
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
Problem No:1 ☐
</p>
<button id='replace'>
Replace
</button>
&#13;
答案 2 :(得分:1)