使用Javascript中的正则表达式查找和更改div

使用Javascript中的正则表达式查找和更改div,javascript,regex,html,fieldset,Javascript,Regex,Html,Fieldset,我试图首先使用正则表达式查找div(因为它的类名有点动态) 一旦找到,我就需要将div放在一个字段集内,这样我就得到了 <fieldset class="..."> <div class="the one I found">...</div> </fieldset> ... 如何在javascript中实现这一点 非常感谢, 史蒂夫这对于正则表达式来说是很难做到的,而且是不明智的。例如,如果div包含其他div怎么办?查找正确的结束d

我试图首先使用正则表达式查找div(因为它的类名有点动态)

一旦找到,我就需要将div放在一个字段集内,这样我就得到了

<fieldset class="...">
    <div class="the one I found">...</div>
</fieldset>

...
如何在javascript中实现这一点

非常感谢,
史蒂夫

这对于正则表达式来说是很难做到的,而且是不明智的。例如,如果div包含其他div怎么办?查找正确的结束div标记不是正则表达式可以做的事情,因为HTML不是正则语言

另一方面,这是一个简单的单行程序,包含:

$(“div.someClass”).wrap(“”);
当然,可以使用香草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]);
  }
}
var divs=document.getElementsByTagName(“div”);

对于(var i=0;i来说,这对于正则表达式来说是很难做到的,而且是不明智的。例如,如果div包含其他div怎么办?查找正确的结束div标记不是正则表达式可以做到的,因为HTML不是正则语言

另一方面,这是一个简单的单行程序,包含:

$(“div.someClass”).wrap(“”);
当然,可以使用香草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]);
  }
}
var divs=document.getElementsByTagName(“div”);
对于(var i=0;i使用,您可以尝试以下方法:

var classes = $(document.body).html().match(/class="pattern"/g); // find classname matchin pattern 
for(i in classes) {
  var nodes = $('.'+classes[i].substr (7, str.length - 8));
  nodes.wrap("<fieldset class='...' />");
}
var classes=$(document.body.html().match(/class=“pattern”/g);//在模式中查找类名matchin
(我在课堂上){
变量节点=$('..+classes[i].substr(7,str.length-8));
节点。换行(“”);
}
使用,您可以尝试以下操作:

var classes = $(document.body).html().match(/class="pattern"/g); // find classname matchin pattern 
for(i in classes) {
  var nodes = $('.'+classes[i].substr (7, str.length - 8));
  nodes.wrap("<fieldset class='...' />");
}
var classes=$(document.body.html().match(/class=“pattern”/g);//在模式中查找类名matchin
(我在课堂上){
变量节点=$('..+classes[i].substr(7,str.length-8));
节点。换行(“”);
}
window.onload=function(){
变量参数={
有:“某物”
};
//var fieldset=doc…获取与div相同的字段。
var divs=document.getElementsByTagName(“div”);
对于(变量i=0;i0){
//fieldset.innerHTML=divs[i].innerHTML;
divs[i].innerHTML=“+divs[i].innerHTML+”;
}
}
}
不需要使用正则表达式,indexof方法就足够了。也不需要使用jquery。Javascript有很好的字符串和数组函数-使用它们,但DOM是一团乱。

window.onload=function(){
变量参数={
有:“某物”
};
//var fieldset=doc…获取与div相同的字段。
var divs=document.getElementsByTagName(“div”);
对于(变量i=0;i0){
//fieldset.innerHTML=divs[i].innerHTML;
divs[i].innerHTML=“+divs[i].innerHTML+”;
}
}
}

不需要使用正则表达式,indexof方法就足够了。也不需要使用jquery。Javascript有很好的字符串和数组函数-使用它们,但是DOM是一团乱。

文档的DOM中有那个DIV吗?如果有,就改用DOM方法。是的,DIV包含在DOM中。我如何使用DOM方法?
document.getElementsBycassName
()。什么标识了要在字段集元素中查找和包装的DIV?很好,但我仍然需要找到它的类名,因为此方法要求我已经拥有类名。该DIV是否位于文档的DOM中?如果是,请改用DOM方法。是的,DIV包含在DOM中。我如何使用DOM方法?
document.getElementsByClassName
()。什么标识了要查找并封装在字段集元素中的div?很好,但我仍然需要找到它的类名,因为此方法要求我已经拥有了该div最明确包含其他div的类名。我需要将其及其所有子元素复制到一个字段集中。如何找到它的名称使用正则表达式的“someClass”?最明确的div将包含其他div。我需要将其及其所有子元素复制到字段集中。如何使用正则表达式查找“someClass”的名称?