我创建了一个按钮。必要时,必须更改其中的语言。我编写了以下代码来完成任务
var $button = $( '<a class="btn">' )
.attr( 'href', '#' ).prepend(
'<span class="fa fa-plus"></span>', ' ' )
.attr( 'data-i18n', 'text' )
.tooltip( {
title: 'change item'
} );
这成功地改变了语言,但它没有显示图标&#34; +&#34;。
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'
} );
第二种情况正常工作并正确显示,包括语言的变化。但我无法理解第一个代码示例中的错误。谁能帮我吗?提前致谢
答案 0 :(得分:0)
您的代码语法无效。在第二个attr函数
中的文本变量之后有一个额外的'
您的代码:
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">' )
.attr( 'href', '#' ).prepend(
'<span class="fa fa-plus"></span>', ' ' )
.attr( 'data-i18n', text )
.tooltip( {
title: 'change item'
});
答案 1 :(得分:0)
我猜你使用jquery-i18next:
<a ... data-i18n="text"><span class="fa fa-plus"></span>hello</a>
会将其内容替换为关键文字提供的翻译。因此,翻译后你将拥有:无论翻译是什么?
但您也可以执行<a ... data-i18n="[prepend]text">...
:https://github.com/i18next/jquery-i18next#prepend-content之类的操作来实现相同目标。