使用jquery添加类后,字体真棒图标字体作为输入中的占位符
我正在尝试使用font-awesome图标作为搜索输入字段中的占位符。
Jsfiddle的例子
我使用相应的html实体作为占位符,然后使用伪类来设置具有正确font-family的占位符(jsfiddle中的示例2):
HTML:
CSS:
.wrapper { font-family:'arial', sans-serif; } input.icon { padding:5px; } input.icon::-webkit-input-placeholder { font-family:'FontAwesome'; } input.icon::-moz-placeholder { font-family:'FontAwesome'; } input.icon::-ms-input-placeholder { font-family:'FontAwesome'; }
它按预期工作。
当我尝试通过jquery(jsfiddle中的示例1)添加输入类和占位符时,问题就开始了:
JS:
$(document).ready(function() { $('.wrapper input:first').addClass('icon'); $('.wrapper input:first').attr("placeholder", ""); });
它不会将font-family应用于输入占位符,而只是显示实体文本。
我试图混合各种东西,最后放弃。 请帮忙!
Jsfiddle的例子
PS:添加的路由:before
使用字体content
:before
输入css中的包装器对我的特定情况不起作用。
你应该首先解析哈希。 你可以使用$.parseHTML
:
$('.wrapper input:first').attr("placeholder",$.parseHTML("")[0].data);
你可以尝试这样的事情:
$('.wrapper input:first').attr("placeholder", $('').html("").html());
的jsfiddle
这通过将值作为HTML而不是文本传递来实现,这可以通过创建对实际不存在的元素的引用来实现。