1
jQuery(this).html(jQuery(this).html() == '▼ SHOW ▼' ? '▲ HIDE ▲' : '▼ SHOW ▼');

这将根据要求切换文本,但它显示

▼

作为 html 而不是 ▼

有人有想法么?

4

2 回答 2

1

问题是您从元素内容中获得的 html(或文本)内容已经被转换。所以▼不存在了。

如果这个脚本是 UTF-8,你可以这样做:

$(this).html(jQuery(this).text() == '▼ SHOW ▼' ? '▲ HIDE ▲' : '▼ SHOW ▼');

编辑,另一个不需要 UTF-8 的更简单的版本:

$(this).html(jQuery(this).text().indexOf('SHOW')>0 ? '▲ HIDE ▲' : '▼ SHOW ▼');
于 2012-10-05T10:54:27.077 回答
0

试试下面的:

$('#foo').toggle(function() {
    $(this).html('▲ HIDE ▲');
}, function() {
    $(this).html('▼ SHOW ▼');
});

现场演示。

于 2012-10-05T10:52:48.840 回答