如何在JavaScript中将字符串与html标记匹配?

时间:2018-02-13 11:35:46

标签: javascript jquery html string-matching html-entities

我正在尝试制作一个控制侧边栏的可点击元素。元素的html文本应更改为<<或>>取决于侧边栏是否可见。 我想出了以下代码

JavaScript的:

\$j("#id_button").click(function(){
    \$j(".sidebar").fadeToggle();        
    \$j("#id_button").html() === ("‹‹") ?  \$j("#id_button").html("››") : \$j("#id_button").html("‹‹");
}); 

和相应的html:

<a id="id_button">&lsaquo;&lsaquo;</a>

当我使用纯文本而不是MarkupEntities时,代码工作正常。例如:"&lsaquo;"的“左”和"&rsaquo;"的“右”但是使用实体不起作用,因为字符串"&lsaquo;&lsaquo;"无法与.html()返回的内容匹配。

1 个答案:

答案 0 :(得分:0)

您可以直接使用箭头吗?

jQuery("#id_button").click(function() {
    var button = jQuery(this);
    var left=  "‹‹";
    var right = "››";
    // $jQuery(".sidebar").fadeToggle();        

   button.html() ===  left ?  button.html(right) :  button.html(left);
}); 

工作fiddle