jQuery(this).html(jQuery(this).html() == '▼ SHOW ▼' ? '▲ HIDE ▲' : '▼ SHOW ▼');
这将根据要求切换文本,但它显示
▼
作为 html 而不是 ▼
有人有想法么?
问题是您从元素内容中获得的 html(或文本)内容已经被转换。所以▼
不存在了。
如果这个脚本是 UTF-8,你可以这样做:
$(this).html(jQuery(this).text() == '▼ SHOW ▼' ? '▲ HIDE ▲' : '▼ SHOW ▼');
编辑,另一个不需要 UTF-8 的更简单的版本:
$(this).html(jQuery(this).text().indexOf('SHOW')>0 ? '▲ HIDE ▲' : '▼ SHOW ▼');
试试下面的:
$('#foo').toggle(function() {
$(this).html('▲ HIDE ▲');
}, function() {
$(this).html('▼ SHOW ▼');
});