当前位置:编程学习 > C#/ASP.NET >>

各位大爷 怎么遍历一个DIV标签里的所有元素

是这样的,因为网页上的元素比较多,如果要全部遍历会比较占用电脑资源,所以想让他少遍历点,应该怎么写?我知道 IFRAME标签可以WebBrowser1.Document.frames.~~
那要是DIV的怎么写呢? --------------------编程问答--------------------
不遍历所有的元素?
不知道你想干吗啊。
不过还是推荐你用juery吧,定位元素很方便的(根据class name 或者元素名称等来访问doc对象)。
--------------------编程问答-------------------- 遍历所有元素太费CPU了
几千个元素来回的遍历,不是很可行!
因为网页是个聊天室的网页,每个人的名字会有链接,那就意味着有好多相同的元素。
所以通过ID什么的来点击,也不是很可行
只能遍历
--------------------编程问答-------------------- 首选你确定好要遍历哪一个DIV里面的元素。然后再下手例如
<div id="test" runat="server">
    <a href="javascript:test();">dddddddd</a>
<asp:TextBox ID="hjh" runat="server"></asp:TextBox>
    </div>

foreach (Control contr in test.Controls)
{
//有选择性的来找。 if (contr.GetType().Name == "TextBox")
{
Response.Write("TextBox");
}
}
--------------------编程问答--------------------
引用 3 楼 kongwei521 的回复:
首选你确定好要遍历哪一个DIV里面的元素。然后再下手例如
<div id="test" runat="server">
    <a href="javascript:test();">dddddddd</a>
<asp:TextBox ID="hjh" runat="server"></asp:TextBox>
    </div>

foreach (Co……


兄台,这个代码我实在看不懂,我就能看懂VB的!我就知道你举了个DIV标签的例子,后面就看不懂了! --------------------编程问答-------------------- For Each contr As Control In test.Controls
'有选择性的来找。 if (contr.GetType().Name == "TextBox")
If True Then
MessageBox.show("TextBox")
End If
Next
这样行不?
--------------------编程问答--------------------
引用 5 楼 kongwei521 的回复:
For Each contr As Control In test.Controls
'有选择性的来找。 if (contr.GetType().Name == "TextBox")
If True Then
MessageBox.show("TextBox")
End If
Next
这样行不?

兄台,这下面的我都明白。
'有选择性的来找。 if (contr.GetType().Name == "TextBox")
If True Then
MessageBox.show("TextBox")
End If
Next
就是这句contr As Control In test.Controls,text应该是DIV的ID,text.controls应该是这DIV标签的元素集合对吧。那在VB里WebBrowser1.Document.All这应可以获得网页上的所有元素,我如果要是给它一个ID,WebBrowser1.Document.All("test"),就会提示错误!我写的代码如下
一,我用下面这个代码,可以找到,但是又等于检测网页上的所有元素:
 With WebBrowser1.Document
      For Each x In .All
          If UCase(x.tagName) = "A" Then
             MsgBox x.outerhtml
          End If
      Next
  End With

二,我给ALL一个ID,就提示错误了
 With WebBrowser1.Document
      For Each x In .All("test")
          If UCase(x.tagName) = "A" Then
             MsgBox x.outerhtml
          End If
      Next
  End With

兄台,我知道我很2,你在教教我呗,我就是不知道 IN 后面这个DIV标签下所有元素集合该怎么写!
在网上找了好长时间,也去了很多地方问,都没人搭理我! 
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,