javascript 替换一个值有意想不到的结果

标签 javascript html

我有一个带有 value="Go" 的输入元素,该元素的 id#btnSearchBox,我正在尝试用字体图标替换“Go”。使用开发工具时,如果我手动将值“Go”替换为 ,搜索代码,并手动将 fa fa-search 添加到类中,我会得到我想要的结果。但是当我尝试用 JavaScript 实现它时,它替换了值并添加了类,但我得到的不是显示的图标,而是实际的字符串

这是我用来添加类和替换值的 JavaScript。

document.getElementById('btnSearchBox').value = '&#xf002';
var search = document.getElementById("btnSearchBox");
search.className += " fa fa-search";

我认为它与 & 有关,但我不确定可以做些什么。如有任何建议,我们将不胜感激!

这是来自检查器的元素的副本(没有 JavaScript)。

<input id="btnSearchBox" name="btnSearchBox" type="submit" class="SearchBox1 ThemeButton GoThemeButton SearchGoThemeButton btn btn-default" value="Go" data-key="ThemeButton_Go_Search_string" onclick="return window.btnQuickAddToCart_onclick ? btnQuickAddToCart_onclick() : false;" \="">

我实际上无法访问代码,否则只能手动添加它。这是用于搜索框的愚蠢的美国商务合并代码。

最佳答案

javascript 中的 unicode 字符格式为 \uXXXX,因此将 '' 更改为 '\uf002'

document.getElementById('btnSearchBox').value = '\uf002';
var search = document.getElementById("btnSearchBox");
search.className += " fa";
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<input id="btnSearchBox" name="btnSearchBox" type="submit" class="SearchBox1 ThemeButton GoThemeButton SearchGoThemeButton btn btn-default" value="Go" data-key="ThemeButton_Go_Search_string" onclick="return window.btnQuickAddToCart_onclick ? btnQuickAddToCart_onclick() : false;" \="">

关于javascript 替换一个值有意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58547128/

相关文章:

javascript - 什么是 `emit` javascript 函数?

html - iOS - HTML 源与在桌面版 Chrome 中检查元素时不同

HTML:在中间做一列

html - :active and :hover states in IE and Firefox 问题

javascript - 由于转换,D3 parseSvg 中的尾随垃圾错误?

javascript - 使用 moment js 修复溢出

javascript - 在 php 中使用 AJAX 检查电子邮件可用性

javascript - 提交验证错误的最大和步长

javascript - JS 测试驱动程序 "assertException"的正确语法?

javascript - Reactjs 下载没有 anchor 标记或没有在新选项卡中打开文件的文件