当前位置:  开发笔记 > 编程语言 > 正文

动态突出显示时,将项目符号添加到<p>?

如何解决《动态突出显示时,将项目符号添加到<p>?》经验,为你挑选了2个好方法。

更新:示例:

Text Text


在示例中,是否可以选择

元素中的第二个"文本"单词,然后单击按钮以仅动态地向所选"单词"添加项目符号?


是否有可能在a

Text

中突出显示

元素中的选定文本,并在按钮单击动态上为所选文本添加项目符号?

如果可以提供更新的小提琴,我将非常感激,因为我还不熟悉编码.

小提琴

HTML:



Text Text


Text Text



1> ketan..:

您可以使用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



2> Jia Jian Goi..:

是.有可能的.使用此答案中的类似示例,您可以考虑使用以下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

  • 元素不会包含元素.

    更新了小提琴和代码(见上文).这应该是你想要的.

  • 推荐阅读
    大大炮
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有