发布者:管理员
发布时间:2010-8-11 21:12:41
阅读:174次
网站优化软件开发入门4-getElementById
显然这些用途都不是能简单的使用 ID 来代替掉的,所以 HTML 元素的 ID 和 Name 的却别并不是身份证号码和姓名这样的区别,它们更本就是不同作用的东西。
顾明思义,get-Element-By-Id,就是通过ID来设置/返回HTML标签的属性及调用其事件与方法。用这个方法基本止可以控制页面所有标签,条件很简单就是给每个标签分配一个ID号:
这个时候我们还是可以继续使用 document.getElementById 获取对象,只不过我们只能获取 ID 重复的那些对象中在 HTML Render 时第一个出现的对象。而这时重复的 ID 会在引用时自动变成一个数组, ID 重复的元素按 Render 的顺序依次存在于数组中。
当然 HTML 元素的 Name 属性在页面中也可以起那么一点 ID 的作用,因为在 DHTML 对象树中,我们可以使用 document.getElementsByName 来获取一个包含页面中所有指定 Name 元素的对象数组。
这是document.getElementById方法在Firefox与IE中的区别的详细页面,介绍了和javascript,有关的知识,加入收藏请按键盘ctrl+D,谢谢大家的观看!要查看更多有关信息,请点击此处
如果getElementById取不出正确的值
可以试试用getElementByName()试试
在这里顺便说一下,要是页面中有 n(n> 1) 个 HTML 元素的 ID 都相同了怎么办?在 DHTML 对象中怎么引用他们呢?如果我们使用 ASPX 页面,这样的情况是不容易发生的,因为 aspnet 进程在处理 aspx 页面时根本就不允许有 ID 非唯一,这是页面会被抛出异常而不能被正常的 render 。要是不是动态页面,我们硬要让 ID 重复那 IE 怎么搞呢?
private void Fill_WebSite(WebBrowser browser,Char Type,String S1, String S2, String S3, String S4, String S5, String S6)
{
HtmlElement PublishWebElement;
if (CurrentUpdateUrl.Length > 0)
{
if (S1.Length > 0)
{
PublishWebElement = browser.Document.GetElementById("topic");
PublishWebElement.SetAttribute("value", S1);
};
if (S2.Length > 0)
{
PublishWebElement = browser.Document.GetElementById("myname");
PublishWebElement.SetAttribute("value", S2);
};
if (S3.Length > 0)
{
PublishWebElement = browser.Document.GetElementById("corpname");
PublishWebElement.SetAttribute("value", S3);
};
if (S4.Length > 0)
{
PublishWebElement = browser.Document.GetElementById("content");
PublishWebElement.SetAttribute("value", S4);
};
if (S5.Length > 0)
{
PublishWebElement = browser.Document.GetElementById("other1");
PublishWebElement.SetAttribute("value", S5 );
};
if (S6.Length > 0)
{
PublishWebElement = browser.Document.GetElementById("other2");
PublishWebElement.SetAttribute("value", S6);
};
PublishWebElement = browser.Document.GetElementById("other3");
switch (Type)
{
case 'A':
PublishWebElement.SetAttribute("value", "hotinfo");
break;
case 'C':
PublishWebElement.SetAttribute("value", "hotinfo1");
break;
default:
break;
};
PublishWebElement = browser.Document.GetElementById("Submit3");
PublishWebElement.InvokeMember("click");
switch (Type)
{
case 'A':
MessageBox.Show(
break;
case 'C':
break;
default:
break;
};
}
else
{
browser.Navigate("about.blank");
MessageBox.Show
}
}
public void Main_DocumentCompleted(object sender, EventArgs e)
{
if (DocumentWait[0])
{
DocumentWait[0] = false;
OpenArticle_Wait(true);
};
if (DocumentWait[1])
{
DocumentWait[1] = false;
toolStripButtonOpenArticleOrigin_Wait();
};
if (DocumentWait[2])
{
DocumentWait[2] = false;
};
}
private void PUBLISHWEB_FormClosed(object sender, FormClosedEventArgs e)
{
HOT_GLOBAL.publishWeb = null;
}
private void toolStripButtonFillWeb_Click(object sender, EventArgs e)
{
this.webBrowser2.Navigate(CurrentUpdateUrl);
}
// 打开文档和等待对应原始文档
private void toolStripButtonOpenArticleOrigin_Click(object sender, EventArgs e)
{
ExecuteNext();