new_section.js 815 B

1234567891011121314151617181920212223242526272829303132
  1. (function(){
  2. if(window.getSelection().rangeCount===0)return;
  3. var selection=window.getSelection();
  4. var range=selection.getRangeAt(0);
  5. var root=range.commonAncestorContainer;
  6. var start=range.startContainer;
  7. var end=range.endContainer;
  8. while (true) {
  9. if(root===null)return;
  10. tag=root.nodeName.toLowerCase();
  11. if(tag==="body")return;
  12. if(tag==="div"){
  13. type=root.className.toLowerCase();
  14. if(type==="body"||type==="section")break;
  15. }
  16. root = root.parentNode;
  17. }
  18. while(start.parentNode!==root) {
  19. if(start===null)return;
  20. start=start.parentNode;
  21. }
  22. while(end.parentNode!==root) {
  23. if(end===null)return;
  24. end=end.parentNode;
  25. }
  26. range=document.createRange();
  27. range.setStartBefore(start);
  28. range.setEndAfter(end);
  29. var newNode=document.createElement("div");
  30. newNode.className="section";
  31. range.surroundContents(newNode);
  32. })()