更新:示例: Text Text
在示例中,是否可以选择元素中的第二个"文本"单词,然后单击按钮以仅动态地向所选"单词"添加项目符号?
是否有可能在a Text
中突出显示元素中的选定文本,并在按钮单击动态上为所选文本添加项目符号?
如果可以提供更新的小提琴,我将非常感激,因为我还不熟悉编码.
小提琴
HTML:
Text
Text
Text
Text
您可以使用jQuery以下方式执行此操作:
function getText() {
if (window.getSelection) {
return window.getSelection().anchorNode.parentNode;
}
return '';
}
$(document).ready(function () {
$('#btnClick').click(function () {
getText().innerHTML = "\u2022" + getText().innerHTML;
});
});
Text
Text
Text
Text
是.有可能的.使用此答案中的类似示例,您可以考虑使用以下JS.逻辑是用元素包装选定的文本.
$('button').on("click", function(e) { var selected = getSelection(); var range = selected.getRangeAt(0); if (selected.toString().length > 0) { // Check if parent element has contenteditable attr set to true. if ($(selected.anchorNode.parentNode).attr('contenteditable')) { var newNode = document.createElement("li"); range.surroundContents(newNode); } } selected.removeAllRanges(); }); function getSelectedText() { var selectedText = ''; if (window.getSelection) { selectedText = window.getSelection(); } else if (document.getSelection) { selectedText = document.getSelection(); } else if (document.selection) { // For IE prior to 9 as it does not support document.getSelection(). selectedText = document.selection.createRange().text; } else return; return selectedText; }
看一下这个小提琴的工作实例.
编辑
我还更新了代码,使得没有contenteditable
设置true
的元素不会包含元素.
更新了小提琴和代码(见上文).这应该是你想要的.