0

我无法为元素设置新属性,VS 2005 在下面的代码中返回以下错误:

错误 1 ​​方法 'setAttribute' 没有重载需要 '2' 参数 错误 2 方法'setAttribute' 没有重载需要 '2' 参数 错误 3 方法'setAttribute' 没有重载需要 '2' 参数

一些可能是什么问题?

谢谢!

try
{
   IHTMLElementCollection AllElements = document.all;
   foreach (IHTMLElement Element in AllElements)
   {                   
      if (Element.tagName.ToUpper() == "IMG")
      {   
         if (Element.offsetHeight <= 40 && Element.offsetHeight >= 20)
         {
            if (Element.offsetWidth <= 160 && Element.offsetWidth >= 130)
            {
               Element.setAttribute("width", Element.offsetWidth);
               Element.setAttribute("height", Element.offsetHeight);
               Element.setAttribute("src", "images/newimage.png");
            }
         }
      }
   }            
}   
catch (Exception e)
{
   string erro = e.Message;
   System.Windows.Forms.MessageBox.Show(erro);
}
4

1 回答 1

1

来自MSDN:看来第三个参数应该是可选的。

lFlags [in, optional] 类型:long

LONG 指定是否使用区分大小写的搜索来定位属性。可以是以下值之一:

1

尊重 strAttributeName 的大小写。

0

无论大小写,都匹配 strAttributeName。

您可以尝试传入 0 或 1。

Element.setAttribute("width", Element.offsetWidth, 0);
Element.setAttribute("height", Element.offsetHeight, 0);
Element.setAttribute("src", "images/newimage.png", 0);

从上面的 Hans 评论中添加信息(如下所示):

“VS2005 已经过时了。C# v2 还不支持可选参数。”——Hans Passant :)

于 2013-11-11T22:06:58.583 回答