JSFiddle - React, Tailwind, and code Playground
by xonev
HTML
<div>
<p>
Ulluco manioc peanut camas american groundnut burdock arracacha catsear elephant foot yam parsnip celery. Arracacha plectranthus - cabbage spring onion brussels sprout gobo swede elephant foot yam, canna. leaves tomato kohlrabi; tigernut moth bean radicchio. Summer purslane bitter gourd celtuce drumstick lagos bologi orache komatsuna bitter melon catsear water chestnut chrysanthemum leaves! Sea kale bok choy chinese artichoke horse gram, nopal lagos bologi, celery cauliflower greater plantain. Sierra Leone bologi, prussian asparagus; radish garden rocket.
</p>
<p>
Ulluco manioc peanut camas american groundnut burdock arracacha catsear elephant foot yam parsnip celery. Arracacha plectranthus - cabbage spring onion brussels sprout gobo swede elephant foot yam, canna. leaves tomato kohlrabi; tigernut moth bean radicchio. Summer purslane bitter gourd celtuce drumstick lagos bologi orache komatsuna bitter melon catsear water chestnut chrysanthemum leaves! Sea kale bok choy chinese artichoke horse gram, nopal lagos bologi, celery cauliflower greater plantain. Sierra Leone bologi, prussian asparagus; radish garden rocket.
</p>
<div>
<p>
Ulluco manioc peanut camas american groundnut burdock arracacha catsear elephant foot yam parsnip celery. Arracacha plectranthus - cabbage spring onion brussels sprout gobo swede elephant foot yam, canna. leaves tomato kohlrabi; tigernut moth bean radicchio. Summer purslane bitter gourd celtuce drumstick lagos bologi orache komatsuna bitter melon catsear water chestnut chrysanthemum leaves! Sea kale bok choy chinese artichoke horse gram, nopal lagos bologi, celery cauliflower greater plantain. Sierra Leone bologi, prussian asparagus; radish garden rocket.
</p>
<p>
Ulluco manioc peanut camas american groundnut burdock arracacha catsear elephant foot yam parsnip celery. Arracacha plectranthus - cabbage spring onion brussels sprout gobo swede elephant foot yam, canna. leaves tomato kohlrabi; tigernut moth bean...
JavaScript
try {
$('body').mouseup(function () {
var selection = window.getSelection(),
selectedElement = selection.anchorNode,
selector = buildSelector(selectedElement);
window.setTimeout(function () {
}, 215);
});
function buildSelector(element, selector) {
var bodyElement = document.getElementsByTagName('body')[0],
i,
nodeNumber = 1,
siblings,
currChild,
ELEMENT_NODE = 1,
thisElSelector;
if (element.nodeType === ELEMENT_NODE) {
thisElSelector = element.tagName;
if (element === bodyElement) {
return thisElSelector + ' > ' + selector;
}
else {
siblings = element.parentNode.childNodes;
for (i = 0; i < siblings.length; i += 1) {
currChild = siblings[i];
if (currChild === element) {
thisElSelector = thisElSelector +
':nth-child(' + nodeNumber + ')';
}
else if (currChild.nodeType === ELEMENT_NODE) {
nodeNumber += 1;
}
}
selector = selector ? thisElSelector + ' > ' + selector :
thisElSelector;
return buildSelector(element.parentNode, selector);
}
}
else return buildSelector(element.parentNode);
}
}
catch (e) {
alert(e.message);
}