在HtmlElement中访问标记“选项”

时间:2012-11-10 20:06:35

标签: c# html

需要改变这个:

<select name="asdf">
    <option selected>a</option>
    <option>b</option>
    <option>c</option>
</select>

我收到了HtmlElement,但无法通过htmlEle.SetAttribute("value", "c");

进行更改

我想将所选的选项从 a 更改为 c

3 个答案:

答案 0 :(得分:2)

获得元素后,您可以遍历子元素并更新所选属性:

var ele = webBrowser1.Document.GetElementById("asdf");

if (ele != null)
{
    foreach (HtmlElement child in ele.Children)
    {
        child.SetAttribute("selected", "false");
        if (child.InnerText == "c")
            child.SetAttribute("selected", "true");
    }
}

答案 1 :(得分:1)

假设:htmlEle是选项元素

C#:请尝试:

  htmlEle.textContent = "a1";

使选项出现选择气体,

 htmlEle.setAttribute("selected", "true");

HTML / JavaScript的:

您的意思是要将第一个选项的显示值从a更改为c,然后尝试以下操作:

      htmlEle.innerHTML = "c";

使选项出现选择气体,

htmlEle.setAttribute(“selected”,“selected”);

如果我将ID分配给选择框:

      <select name="asdf" id="selectBox">
         <option selected>a</option>
         <option>b</option>
         <option>c</option>
       </select>

然后

  var selectElem = document.getElementById("selectBox");
  selectElem.childNodes[1].innerHTML = "a1";

将第一个选项的值更改为a1

答案 2 :(得分:1)

使用

可以轻松完成
htmlEle.value = "c";

Live DEMO