Это будет трудно сделать с регулярными выражениями и опрометчивым. Например, что, если div содержит другие divs? Поиск правильного закрывающего тега div не является тем, что может выполнять регулярное выражение, потому что HTML не является обычным языком.
С другой стороны, это тривиальный один лайнер с jQuery:
$("div.someClass").wrap("<fieldset class='...'></fieldset>");
Это, конечно, может быть сделано с ванильным Javascript DOM используя что-то вроде:
var divs = document.getElementsByTagName("div");
for (var i=0; i<divs.length; i++) {
if (divs[i].className == "...") {
var fs = document.createElement("fieldset");
fs.className = "...";
var parent = divs[i].parentNode;
parent.insertBefore(fs, divs[i]);
fs.appendChild(divs[i]);
}
}
Вам, конечно, нужно чтобы заполнить класс, который нужно ввести в поле, и изменить тест на div, чтобы выяснить, нужно ли вам манипулировать им или нет.
Это DIV в документе DOM? Если это так, используйте методы DOM. – Gumbo
Да, div содержится в DOM. Как я могу использовать методы DOM? –
'document.getElementsByClassName' (https://developer.mozilla.org/en/DOM/document.getElementsByClassName). – kennytm