首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HtmlElement.GetAttribute("for")返回空字符串

HtmlElement.GetAttribute("for")返回空字符串
EN

Stack Overflow用户
提问于 2011-01-05 19:30:33
回答 2查看 1.4K关注 0票数 2

我正在使用webbrowser控件和htmlElementcollection类来获取表单中的所有html。我做了这个函数来循环所有的东西,如果找到一个标签,它必须保存'For‘属性中的值和标签的文本值。然后,当找到一个输入元素时,它必须检查它的名称是否包含保存在变量ForID中的文本,如果包含,则追加并显示。

代码:

代码语言:javascript
运行
复制
private string logLabelInputs(HtmlElementCollection collection) {
        StringBuilder sb = new StringBuilder();
        var forID = "";
        var labelValue = "";
        foreach (HtmlElement item in collection) {
            if (item.TagName.ToLower() == "label") {
                forID = item.GetAttribute("for");
                forID = forID == "" ? item.GetAttribute("FOR") : forID;
                labelValue = item.InnerText;
            }
            if (item.TagName.ToLower() == "input") {
                if(item.Name.Contains(forID)) {
                    sb.Append(labelValue + ": " + item.Name + "\r\n\r\n");
                }
            }
            if (item.All.Count > 0) {
                sb.Append(logLabelInputs(item.All));
            }               
        }
        return sb.ToString();
    }

private void button4_Click(object sender, EventArgs e) {
        HtmlElementCollection tagsCollection = webBrowser1.Document.GetElementsByTagName("form");
        textBox1.Text = logLabelInputs(tagsCollection);
    }

所以发生的事情是forID总是空的。该值已正确保存。我检查大写和小写(虽然我知道是小写)

ANyone对此有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-09-10 06:13:51

使用以下命令:

代码语言:javascript
运行
复制
item.GetAttribute("htmlfor") 
票数 2
EN

Stack Overflow用户

发布于 2011-01-05 19:44:18

使用jQueryPrototype之类的javascript框架会更好。这个javascript将是跨浏览器的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4603566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档