C# 访问标签";选择权;在Htmlement中
需要改变这一点:C# 访问标签";选择权;在Htmlement中,c#,html,C#,Html,需要改变这一点: <select name="asdf"> <option selected>a</option> <option>b</option> <option>c</option> </select> A. B C 我得到了HtmlElement,但无法通过htmlEle.SetAttribute(“value”,“c”)更改它 我想将所选选项从a更改为c假设:
<select name="asdf">
<option selected>a</option>
<option>b</option>
<option>c</option>
</select>
A.
B
C
我得到了HtmlElement
,但无法通过htmlEle.SetAttribute(“value”,“c”)更改它代码>
我想将所选选项从a更改为c假设:htmlEle
是选项元素
C#:请尝试:
htmlEle.textContent = "a1";
要使选项显示为选中的气体
htmlEle.setAttribute("selected", "true");
HTML/JavaScript:
您的意思是要将第一个选项的显示值从a
更改为c
,然后尝试以下操作:
htmlEle.innerHTML = "c";
要使选项显示为选中的气体
htmlEle.setAttribute("selected", "true");
setAttribute(“选定的”、“选定的”)
如果我为selectbox分配了一个ID
:
<select name="asdf" id="selectBox">
<option selected>a</option>
<option>b</option>
<option>c</option>
</select>
将第一个选项的值更改为a1
这很容易用
htmlEle.value = "c";
一旦拥有元素,就可以循环遍历子元素并更新所选属性:
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");
}
}
什么不起作用?您是否有任何错误?没有,只是没有更改为组合框我要更改您在组合框中到底要更改什么?组合框中当前为“a”的选定项我要更改为“c”,这仍然未指定。您希望选项是c、b、c吗?听起来很奇怪。或者你真的想选择第三个选项?这不是他想做的。您编写的内容将清除选择项的所有innerHTML。问题…:)@gdoron:我没有处理select元素,我正在更新option元素。请参考答案中的例子,试一下你自己。@Downvoter:请留下一些评论来理解这个问题。我没有投反对票,但这似乎没有满足他的要求。(顺便说一句,他想要的是C#代码,而不是我们两人都用过的js。)@gdoron:问题不清楚,所以答案是。更新了答案。为什么要删除C#标记?根据术语HtmlElement
和SetAttribute
调用,很明显他正在将html加载到一个C#webbrowser中,并试图在那里对其进行操作。C#没有获得htmele:\@JohnKoerner上的成员值。对不起,这对我来说一点都不明显。这篇文章过去写得很差,现在也写得很差(