WebBrowser 如何获取html中内嵌的子html中的子元素?

html-css015

WebBrowser 如何获取html中内嵌的子html中的子元素?,第1张

var loginIframe = document.getElementById("alibaba-login-box")

var loginDocumnet = loginIframe.contentWindow.document || loginIframe.contentDocument

var label = loginDocument.getElementsByClassName("sms-login-title")[0]

我讲一下这几句的思路,题主你看一下,其实不难的

第一句:根据id获取你需要的iframe

第二句:过去iframe下的document

第三句:根据类名获取元素

$("body div")是选取<body>里所有的<div>元素;

$("body>div")是选取<body>下元素名是<div>元素的子元素

假如:

<body>

<div class="one">

class为one的div

<div class="childrenone">one children one</div>

<div class="childrenone">one children two</div>

</div>

<div class="two">

class为one的div

<div class="childrentwo">two children one</div>

<div class="childrentwo">two children two</div>

</div>

</body>

$("body div")选取的是<div class="one">和<div class="two">这两个<div>元素和<div class="childrenone">和<div class="childrentwo">四个<div>元素,所以总共选取了六个<div>元素,这些元素都是<body>的后代(包括子元素的子元素);

$("body>div")选取的是<div class="one">和<div class="two">这两个<div>元素,即<body>的子元素

我想你用的是火狐吧。这里我就给你说下火狐和IE的区别吧,IE中的DIV高度即使你设成0PX,他的真实高也不会是0PX另外他的高度还会随着子元素的高度增加而增加,所以你在IE中是可以看到红色的DIV的。而在火狐中则相反,高度必须的指定,如果你不指定,那么在浮动时,他的高度就是0PX。所以你看不到红色的DIV,另外很多情况下,火狐和IE的效果不是一样的,特别是在用DIV布局的时候,DIV布局要求相当的高,一不注意就会出现放大缩写错位的问题。我通常都采用绝对定位和相对定位来布局,或者用table,希望能帮到你。