javascript - 如何将 html 实体与 jQuery 进行比较

标签 javascript jquery html-entities

我有以下html代码:

<h3 id="headerid"><span onclick="expandCollapse('headerid')">&uArr;</span>Header title</h3>

每次用户单击 span 标签时,我都想在向上箭头和向下箭头之间切换。

function expandCollapse(id) {   
    var arrow = $("#"+id+" span").html(); // I have tried with .text() too
    if(arrow == "&dArr;") {     
        $("#"+id+" span").html("&uArr;");               
    } else {        
        $("#"+id+" span").html("&dArr;");               
    }
}

我的函数总是走 else 路径。如果我创建一个 javacript:alert of arrow 变量,我将得到表示为箭头的 html 实体。我如何告诉 jQuery 将 arrow 变量解释为字符串而不是 html。

最佳答案

解析 HTML 时,JQuery 在 DOM 中看到的是 UPWARDS DOUBLE ARROW ("⇑"),而不是实体引用。因此,在您的 Javascript 代码中,您应该测试 "⇑""\u21d1"。此外,您需要更改要切换到的内容:

function expandCollapse(id) {
    var arrow = $("#"+id+" span").html();
    if(arrow == "\u21d1") {     
        $("#"+id+" span").html("\u21d3");                           
    } else {            
        $("#"+id+" span").html("\u21d1");                           
    }
}

关于javascript - 如何将 html 实体与 jQuery 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30003/

相关文章:

javascript - 使用 Chrome 扩展更改 DOM 内容

javascript - 在下载自定义字体之前不要运行 Javascript 函数?

javascript - 拖动图像以调整位置,就像在 Facebook 缩略图个人资料图片中一样

javascript - Highstock x轴缩放

javascript - 如何在单击按钮时向表格列添加标题

javascript - 当使用 JavaScript 时,Jade 将 & 转换为 &

php - 如何在全文 MySQL 搜索中同时匹配 htmlentified 关键字和非 htmlentified 关键字

php - 如何在 php 中为 htmlentities() 函数默认设置 ENT_QUOTES 标志

javascript - 输入日期字段应仅显示月份和年份

Javascript:如何停止多个 jQuery ajax 错误处理程序?