спасибо, "оберточную" задачку я решил в лоб так:
function WrapIt(ContainerId, WraperElementType, WraperElementId, WraperElementClass, WrapBeforeElementId, WrapAfterElementId)
{
document.createElement(WraperElementType);
var tmpStr = document.getElementById(ContainerId).innerHTML
var InsertStart = tmpStr.indexOf(document.getElementById(WrapBeforeElementId).outerHTML, 0);
var InsertEnd = tmpStr.indexOf(document.getElementById(WrapAfterElementId).outerHTML, 0) + document.getElementById(WrapAfterElementId).outerHTML.length;
var resultStr = tmpStr.substring(InsertStart, 0) + '\n<' + WraperElementType + ' id="' + WraperElementId + '" class="' + WraperElementClass + '">\n' + tmpStr.substring(InsertStart, InsertEnd) + '\n</' + WraperElementType + '>\n' + tmpStr.substring(InsertEnd);
alert(tmpStr.substring(InsertEnd));
document.getElementById(ContainerId).innerHTML = resultStr;
}
Такой метод имеет право на жизнь или могут быть какие подвохи?