我创建了一个按钮。其上的语言必须在需要时进行更改。我编写了以下代码来完成任务
var $button = $( '<a class="btn">' )
.attr( 'href', '#' ).prepend(
'<span class="fa fa-plus"></span>', ' ' )
.attr( 'data-i18n', 'text' )
.tooltip( {
title: 'change item'
} );
这成功地更改了语言,但不显示图标“+”。
var $button = $( '<a class="btn">' )
.text( 'sample text' )
.append( '<span data-i18n="text">sample text</span>' )
.attr( 'href', '#' ).prepend(
'<span class="fa fa-plus"></span>', ' ' )
.tooltip( {
title: 'change item'
} );
第二个案例有效并正确显示,包括语言的更改。但我无法理解第一个代码示例中的错误。谁能帮我吗?提前致谢
最佳答案
我猜你使用jquery-i18next:
<a ... data-i18n="text"><span class="fa fa-plus"></span>hello</a>
会将其内容替换为关键文本给出的翻译。所以翻译后你会得到:无论翻译是什么`
像在第二个示例中所做的那样,断言只有内部范围被替换,而不是 anchor 标记的完整内容。
但你也可以做类似 <a ... data-i18n="[prepend]text">...
的事情: https://github.com/i18next/jquery-i18next#prepend-content达到同样的目的。
关于jquery - data-i18n 不显示符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49362334/