如何获取选定的文本id,并用javascript替换保持标签完整的文本
How to get selected text id and replace the text with keeping the tags intact with javascript?
我正在创建逐字逐句的着色工具。基本上,用户可以从单词中选择几个字母并将它们分开着色,所以一个单词可以有两种或多种颜色。
为了跟踪所有的单词,它们都有id,我想知道如何知道选择了哪些字母,以及所选单词有什么单词id,如果用户选择了多个单词,那么我应该用它来获取每个单词的id。
这里是演示:http://jsfiddle.net/FvnPS/29/
我可以得到选择,但我不知道如何找到所选单词的id。
从您的数据ID属性中获取ID,从text()方法中获取tetx。代码仅用于概念,未完全开发
alert($(this).text() +' ID: '+$(this).data('id'));
编辑:开始/结束ID的
var id = {
start: null,
end: null
}
$('word').mouseup(function() {
alert(getSelectedText() + ' End: ' + $(this).data('id') + ' Start: ' + id.start);
}).mousedown(function(evt) {
id.start = $(evt.target).data('id')
});
http://jsfiddle.net/8Gqsu/2/
通过event.target属性获取它-请参阅http://jsfiddle.net/FvnPS/31/
这将为您提供所选第一个单词的id(first_id)和最后一个单词的id(last_id http://jsfiddle.net/vTgqW/2/$('word').mouseup(function(event) {
var last_id = parseInt($(this).attr("data-id"));
var first_id = last_id - getSelectedText().split(" ").length + 1;
});
function getSelectedText() {
if (window.getSelection) {
return window.getSelection().toString();
} else if (document.selection) {
return document.selection.createRange().text;
}
return '';
}
- 使用JavaScript将标题文本替换为按钮文本
- jQuery在用新文本替换HTML文本时淡出HTML文本,而不是仅显示
- 为什么不'使用此JavaScript将文本替换为不起作用的链接
- 将元素文本替换为子项中的值
- 使用 Jquery 将文本替换为笑脸图像
- 将页面上的文本替换为 jQuery 并提示文件下载
- 使用 JavaScript 将文本替换为图像
- 将 d3 演示中的圆圈和文本替换为包含自定义 HTML 和 ko 绑定的 foreignObject
- JavaScript无法用新文本替换文本
- 将表中的文本替换为用户友好的文本
- 将.onclick属性中的文本替换为javascript
- Javascript/Jquery.使用带通配符的正则表达式将纯文本替换为html
- 按名称将文本替换为 JavaScript 属性的内容
- 如何将 JSON 字符串中的文本替换为 Greasemonkey 的用户脚本
- Javascript:用文本替换整个锚点
- 在Chrome扩展程序中将文本替换为Treewalker
- 通过将文本替换为类来换行/中断列表元素
- 如何使用javascript将文本替换为彩色文本
- JavaScript - 消除文本替换的延迟
- j查询遍历和文本替换