作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白,为什么对任何 HtmlElement 的更改都不会更改 webBrowsers 的显示。
这是我的代码:
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser.ReadyState != WebBrowserReadyState.Complete)
return;
if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath)
return;
HtmlElementCollection elemCol = webBrowser.Document.All;
foreach (HtmlElement elem in webBrowser.Document.All)
{
if (elem.TagName.Equals("SPAN"))
elem.SetAttribute("width", "100"); //style="background: red;"
HtmlElement parentElem = elem.Parent;
}
webBrowser.Update();
webBrowser.Refresh();
}
调试时,我查看了元素的 OuterHtml - 这按预期进行了更改。当查看其父元素的 innerHtml 时,它也会发生变化。甚至 webBrowser.Document 的 body innerHtml 也会发生变化。但是它对 Gui 中的 webBrowser 没有影响。查看那里的源代码,您找不到更改。
有什么想法吗?我仍然尝试了 Update() 和 Refresh() 但没有成功。
最佳答案
我用它来改变 Style
属性
var currentStyle = htmlElement.Style;
htmlElement.Style = currentStyle.Replace("margin-left: 450px", "margin-left: 50px");
关于c# - HtmlElement.SetAttribute 不适用于 webBrowser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26672321/
我是一名优秀的程序员,十分优秀!