Как получить все элементы, которые выделены
Я хочу получить все элементы в выделенной пользователем области. Проблема в том, что я нене знает, как пройти к различным частям DOM, когда элементы находятся в другой части дерева. Мой код до сих пор может получить только элементы из startContainer диапазона выбора. Нужна ли какая-то рекурсия? Вот мой код:
getSelectedElementTags:function()
{
var range, sel, container;
sel = content.window.getSelection();
if (sel.getRangeAt)
{
if (sel.rangeCount > 0)
{
range = sel.getRangeAt(0);
}
}
else
{
range = content.window.createRange();
range.setStart(sel.anchorNode, sel.anchorOffset);
range.setEnd(sel.focusNode, sel.focusOffset);
alert("range created");
}
if (range)
{
container = range["startContainer"];
var elms = container.parentNode.getElementsByTagName("*");
elmlist = "parent: "+container.parentNode.tagName + " (" + elms.length + ")\n";
for (i in elms)
{
if (elms[i].tagName != null)
{
elmlist += elms[i].tagName+"\n";
}
}
alert(elmlist);
}
},