这是我第一次作为“作家”,我总是阅读所有有用的人物帖子,但我以前从未写过。我决定写,因为我找不到这个具体问题的答案。 我正在尝试用jQuery和JavaScript做一个所见即所得,我遇到的问题是我不能将样式应用于特定的div,其中选择了一些文本。 我正在做以下事情:
$("#idofthediv").mouseup(function () {
var selObj = window.getSelection();
alert("Selected: " + selObj);
selObj.style.color = 'red';
});
我在警告中获得了所选文本,但我无法将该样式应用于该文本,甚至不适用于包含该文本的div。 (第三行selObj.style.color ='red';不起作用是我试过的东西,但知道它是错的)
有什么想法吗?
非常感谢
托马斯
答案 0 :(得分:0)
你可以尝试这样的事情:
var spn = '<span class="red">' + selObj.toString() + '</span>';
var newContent = document.activeElement.innerHTML.replace(selObj, spn.toString());
document.activeElement.innerHTML = newContent;
将所选文本换行到适当设置样式的span元素中,然后获取活动元素并进行替换。 问题是,替换函数将替换字符串的第一个出现而不是所选字符串。但是,您可以修改它以替换所选字符串的所有出现。我只是不知道是否有办法完全取代选定的出现。