JavaScript无法用新文本替换文本
JavaScript not able to replace text with new text
我正试图在AngularJs和jQuery的帮助下转换所选文本的字体。这是我的密码。一切都很好,但我无法用新文本更改文本。
这是我的代码:
var app = angular.module('myApp', []);
app.controller('editor', function($scope) {
$scope.color = "black";
$scope.selectedText = "";
$scope.changeFont = function() {
if ($scope.selectedText != "") {
var changedText = "<span style='font-size:" + $scope.kys_selected_font + "px' >" + $scope.selectedText + "</span>";
alert($scope.selectedText + $scope.kys_selected_font + " " + changedText);
document.getElementById("#content").innerHTML.replace($scope.selectedText, changedText);
} else {
$("#content").append("<span id='one' style='font-size:" + $scope.kys_selected_font + "px' > this is some text </span>");
$("#one").focus();
}
};
$("#content").mouseup(function() {
$scope.selectedText = window.getSelection();
});
});
innerHTML.replace(...)
返回一个新字符串,而不是修改现有字符串,因此替换项不会修改元素。
您需要实际更新属性:
var el = document.getElementById("content");
el.innerHTML = el.innerHTML.replace($scope.selectedText, changedText);
(另请注意,根据@IvanSivak的评论,#
已从元素ID中删除)
相关文章:
- 使用JavaScript将标题文本替换为按钮文本
- JavaScript 在页面加载后替换文本
- 原型JS查找跨度并替换文本
- jQuery在用新文本替换HTML文本时淡出HTML文本,而不是仅显示
- jQuery在iFrame Src中查找和替换文本
- 用“$$$”替换文本,在Javascript中给出截断的结果
- 为什么不'使用此JavaScript将文本替换为不起作用的链接
- 如何替换文本区域中的换行符
- 将元素文本替换为子项中的值
- 使用 Jquery 将文本替换为笑脸图像
- 将页面上的文本替换为 jQuery 并提示文件下载
- 使用 JavaScript 正则表达式替换文本中的类似字符串
- 使用 JavaScript 将文本替换为图像
- 如何使用 jQuery 替换文本中的 HREF 链接
- 将 d3 演示中的圆圈和文本替换为包含自定义 HTML 和 ko 绑定的 foreignObject
- :包含不区分大小写的解决方案在替换文本以突出显示时不起作用
- 遍历DOM和替换文本的最佳方法
- Qualtrics(Javascript)-矩阵表-用下拉列表替换文本输入字段
- JavaScript无法用新文本替换文本
- 用其他文本替换文本和后面的字母