jQuery Show / Hide Div
我正在使用它来显示/隐藏div扩展器,它工作正常,但是HTML实体没有被输出。
$(document).ready(function() { $('.slickbox').hide(); $("#slick-toggle").toggle(function() { $(this).text("▲ See Less"); $('.slickbox').slideToggle(500); }, function() { $(this).text("See More ▼"); $('.slickbox').slideToggle(500); }); });
它只是输出,而不是显示向上或向下箭头实体
▼
我该怎么做才能输出实体?
.text
已经从“文本”转换为“HTML”本身。
从文档 :
我们需要注意,此方法会根据需要转义提供的字符串,以便在HTML中正确呈现。 为此,它调用DOM方法.createTextNode(),它将特殊字符替换为其HTML实体等价物(例如
因此,您的文字正在转换为▲
从你的观点来看, 逐字逐句地呈现。
您可以将文字直接编码到字符串中(注意Javascript \u
期望Hex,而不是Decimal):
$(this).text("\u25B2 See Less");
如果要使用HTML实体:
$(this).html("▲ See Less");
请参阅此jsfiddle.net代码段 ,其中显示:
- 你的方法
- 将文字直接编码为Javascript字符串的有效方法
- 使用
.html
的方法。
您是否尝试使用.html而不是.text
$(document).ready(function() { $('.slickbox').hide(); $("#slick-toggle").toggle(function() { $(this).html("▲ See Less"); $('.slickbox').slideToggle(500); }, function() { $(this).html("See More ▼"); $('.slickbox').slideToggle(500); }); });
.text()不处理任何html实体。 在这种情况下,您必须使用.html()。