javascript - 在 JS 变量中添加 HTML 元素

标签 javascript jquery html

var $document = $(document);
var selector = '[data-rangeslider]';
var $element = $(selector);
// For ie8 support
var textContent = ('textContent' in document) ? 'textContent' : 'innerText';
// Example functionality to demonstrate a value feedback
function valueOutput(element) {
    var value = element.value;
    var output = element.parentNode.getElementsByTagName('output')[0] || element.parentNode.parentNode.getElementsByTagName('output')[0];
    output[textContent] = value + 'mm';
}
$document.on('input', 'input[type="range"], ' + selector, function(e) {
    valueOutput(e.target);
});

在行 output[textContent] = value + 'mm';我需要输出为 value + '<span class="classname">mm</span>' 我尝试了大部分事情并做了很多研究,但到目前为止还没有运气。

这可能是非常简单的事情,但我对 JavaScript 太陌生,所以无法弄清楚。

最佳答案

您应该更改此行:

output[textContent] = value + 'mm';

至:

output.innerHTML = value + '<span>mm</span>';

此外,您可以删除 IE8 后备,因为没有必要。所有浏览器都支持 innerHTML

在您的代码中,您分配的是节点文本,而不是您应该分配的节点 HTML。

您可以阅读有关 innerTextinnerHTML 之间差异的更多信息 here .

关于javascript - 在 JS 变量中添加 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50395476/

相关文章:

jquery - 格式化从 jQuery 自动完成返回的 json 对象

jquery - 自定义滚动条不适用于 body

javascript - 单击“动态添加字段”按钮会清除已存在的字段

javascript - 如何选择 'this' onclick?

javascript - 如何在select2中使用ajax?

javascript - ng-disabled 也不启用提交按钮

javascript - Cypress 从窗口获取全局变量

javascript - 检查一个数组中的至少一个值是否存在于另一个数组中失败

javascript - 如何通过 jQuery-Steps 删除 froms 上的选项卡外观

html - CSS:在线的最后一个元素