<div>
<div id="d_x_003"><span>内容</span></div>
<div id="x_003"><span>内容</span></div>
</div>
<div>
<div id="x_203"><span>内容</span></div>
<div id="d_y_000"></div>
</div>
<script type="text/javascript">
var d = document.body.getElementsByTagName("div");
for(i=0;i<d.length;i++)
{
if(!d[i].id.indexOf("d_")) alert(d[i].innerHTML);
}
</script>

解决方案 »

  1.   

    这样确实可以实现,但是效率可能是个问题。当对于一个非常大文档来说,里面的DIV可能有几千个,但是符合要求的DIV可能只有几个的话,效率很难保证。 是否可以用正则表达式去获取,期待中……
      

  2.   

    <div>
    <div id="d_x_003"><span>内容</span></div>
    <div id="x_003"><span>内容</span></div>
    </div>
    <div>
    <div id="x_203"><span>内容</span></div>
    <div id="d_y_000"></div>
    </div>
    <script type="text/javascript">
    var d = document.body.getElementsByTagName("div");
    for(i=0;i<d.length;i++)
    {
    if(d[i].id.substring(0,2)=="d_") alert(d[i].innerHTML);
    }
    </script>
      

  3.   

    正则还得要循环遍历的吧
    var testStr = /^[d]_\w*/i;
    for(i=0;i<d.length;i++)
    {
    result = testStr.test(d[i].id)
    if (result)
    {
    alert(d[i].innerHTML);
    }
    }
      

  4.   

    我上面那段就是一段 STRING ,如何只提取 <div id="d_x 开头 </div> 结尾的呢?
      

  5.   

    如果你的div不嵌套的话可以这样<textarea id="t" rows="10" cols="80">
    <div>
    <div id="d_x_003"><span>内容</span></div>
    <div id="x_003"><span>内容</span></div>
    </div>
    <div>
    <div id="x_203"><span>内容</span></div>
    <div id="d_y_000"></div>
    </div>
    </textarea>
    <script language="javascript">
    <!--
    var str = document.getElementById("t").value;
    re = /<div id=\"d_[\s\S]+?<\/div>/g;
    var res = str.match(re);
    alert(res);
    //-->
    </script>
      

  6.   

    re = /<div id=\"d_[\s\S]+?<\/div>/g;这个“d_[\s\S]+?”什么意思呢?
      

  7.   

    对了,如果div里面还有div是否可以处理(id=d_的div不会嵌套的)。比如:<div>
    <div id="d_x_003"><div id="x_056"><span>内容</span></div></div>
    <div id="x_003"><span>内容</span></div>
    </div>
    <div>
    <div id="x_203"><span>内容</span></div>
    <div id="d_y_000"></div>
    </div>