//find selection var focusedWindow = new XPCNativeWrapper(document.commandDispatcher.focusedWindow, 'document', 'getSelection()'); var selection = focusedWindow.getSelection(); var name = selection.toString(); var start = selection.getRangeAt(0).startOffset; var end = selection.getRangeAt(0).endOffset; var container = selection.getRangeAt(0).startContainer; //make "pebble" var pebble = document.createElement("div"); var text = document.createTextNode("(*)"); pebble.appendChild(text); var link = document.createElement("a"); link.setAttribute("name", "ff_extension_pebble_marker_link"); var image = document.createElement("img"); image.setAttribute("src", "chrome://pebbles/content/pebble.png"); pebble.appendChild(image); pebble.appendChild(link); //alert(container.parentNode.parentNode); //alert(container.parentNode.previousSibling); //insert somewhere before selection container.parentNode.parentNode.insertBefore(pebble, container.parentNode.previousSibling);