我用sharepoint,发现跟FP2003不一样,设置属性时,sharepoint会在头部自动生成.style 1等内嵌样式。我想问的是:如何才能遍历这些样式并添加或者删除一个新样式?我是菜鸟,问题有点白,原谅则个。呵呵。

解决方案 »

  1.   

    是的,我是想用DELPHI添加或者删除样式。我知道webbrowser.OleObject.Document.Scripts.Length可以得到js的集合,web.OleObject.Document.Images.Length得到图像的集合,但style怎么得到,我不知道。
      

  2.   

    直接操作本地文件不好。
    JS可操作DOM,DELPHI同样可以,但我不熟悉,而且似乎比JS要麻烦。
    元素有style属性,MSDN上说:Gets or sets a comma-delimited list of styles for the current element. 但我找不到get或者set方法。有一个setattribute方法,MSDN上是两个参数,但DELPHI里多了个iFlag参数,找不到怎么用的例子。我想再问一下,在JS里:
    elment.setAttribute(attributeName,value),可不可以这样写:
    elment.setAttribute('class','.style1')?这样是不是就是设置了该elment的style?
      

  3.   

    你说的webbrowser.OleObject.Document,当然可以,但也比较麻烦。
    主要看你到底想做什么,有些用直接读写文件的方式反而更方便。
      

  4.   

    我以前是用直接读写文件的方式,很烦琐,也并不方便。
    我现在的做法是,把网页操作比如添加删除表格等写成类或者函数,通用的,到处可用。
    我用DELPHI已经写了一个比较完整的操作表格的类,但为表格或行列添加删除style属性时,用硬写innerhtml的方法,感觉很不爽,便想使用比较正规的方式来处理。在发这个贴之后,又查了些MSDN资料,似乎有点眉目了,正准备进行测试。
      

  5.   

    读写内部style应该是有方法的吧。
    我设想的是:创建一个节点,然后用parentNode.appendChild(newnode)加入。
    如果是删除,就parentNode.parentNode.removeChild(anode).
    如果可行,我需要知道如何创建及获取style节点。它的tagname是什么等。
      

  6.   

    用DELPHI动态创建内部style已经可以了,但如何删除还不知道。
    查MSDN,只看到删除rule的方法和删除表达式的方法,没有与createstylesheet成对的删除stylesheet的方法。请高人援手啊
      

  7.   

    可以的,不过在ie中不是class是className
    建议用jquery比较简单
      

  8.   

    谢谢IBM_hoojo,setAttribute的方法我还没来得及测试,我测试的结果是:直接读写元素的classname就可以设置了。
    现在头痛的是,如何删除某个内部的样式表。
    从来没有用过jquery,很想知道:将jquery与应用程序一起发布(安装到用户的机器上),在程序内嵌的webbrowser里调用,是否可行?如果可行,很值得学学jquery。
    也就是说,jquery不放在服务器上,本地是否方便调用。