首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASCII符号未由.html注册()

ASCII符号未由.html注册()
EN

Stack Overflow用户
提问于 2017-02-24 06:52:48
回答 4查看 66关注 0票数 0

我在这里有一个函数,可以在不同的ASCII符号(特别是⊕ (⊕)&ominus (⊖) )之间切换。我不明白的是,当它变成之后,它就不会再变回来了。有人知道为什么吗?

这将生成表行

代码语言:javascript
复制
"<tr><td>Other</td><td>" + stats.others.length + <span class='displaybutton' style='cursor:pointer;'>&oplus;</span></td></tr>";

重要的部分是这个<span>

代码语言:javascript
复制
<span class='displaybutton' style='cursor:pointer;'>&oplus;</span>

这被认为是在符号之间切换

代码语言:javascript
复制
$('.displaybutton').click(function(){
    $('#otherResponseList').toggle(); 
    if($(this).html() == '&ominus;'){
        $(this).html('&oplus;');
    } else {
        $(this).html('&ominus;');
    }
});
EN

回答 4

Stack Overflow用户

发布于 2017-02-24 07:10:37

这两个符号不是ASCII。它们是HTML实体,属于Unicode字符集。它们不属于ASCII字符集。

比较html实体的HTML表示可能很棘手。它们可以由实体表示,但也可以转换为相应的Unicode字符。解决方案是考虑结果,这就是文本内容。可以使用jQuery.text()和Unicode代码点轻松地操作文本内容,以使用ominus (0x2296)和oplus (0x2295):

代码语言:javascript
复制
$('.displaybutton').click(function(){
    $('#otherResponseList').toggle(); 
    $(this).text($(this).text()=='\u2296'?'\u2295':'\u2296');
});
票数 2
EN

Stack Overflow用户

发布于 2017-02-24 07:02:10

名称&oplus;&ominus;是HTML用来表示不同unicode代码点的实体代码。因为您的JS代码很可能是UTF-8,所以您可以直接针对字符进行测试。

你可以使用下面的代码来完成你想要做的事情。如果您想对HTML实体代码进行编码/解码,可以查看this SO Post

代码语言:javascript
复制
$('.displaybutton').click(function(){
    if($(this).html() != '⊕'){
        $(this).html('&oplus;');
    } else {
        $(this).html('&ominus;');
    }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class='displaybutton' style='cursor:pointer;'>&oplus;</span>

票数 1
EN

Stack Overflow用户

发布于 2017-02-24 07:05:14

您可以用data-attribute标记它,并与之进行比较,而不是与元素中的值进行比较。

代码语言:javascript
复制
<div>
  <span id="icon" data-id="plus">&oplus;</span>
</div>
<button id="change">change</button>

$(document).ready(function() {
  $('#change').on('click', function() {
    if ($('#icon').attr('data-id') === "plus") {
      $('#icon').attr('data-id', "minus");
      $('#icon').html('&ominus;');
    } else {
      $('#icon').attr('data-id', "plus");
      $('#icon').html('&oplus;');

  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42427716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档