如何更改 TMS WEB Core 中 TJSNode 项目的 css 样式?

问题描述 投票:0回答:1

通常当我想改变组件的

style
时,我可以简单地在Delphi中做这样的事情:

Panel1.ElementHandle.style.setProperty('display','none');

但我想更改

Panel1
中具有
Test
类的第一个元素的样式。我可以使用
getElementsByClassName
函数获取该元素。该函数返回一个
TJSHTMLCollection
对象,它基本上是一个数组,我可以执行以下操作来从数组中获取第一项:

Panel1.ElementHandle.getElementsByClassName('Test')[0]

但这会返回一个

TJSNode
元素,并且
TJSNode
上没有像
style
那样的
ElementHandle
。所以我无法执行以下操作,因为这会导致错误,因为
style
不存在:

Panel1.ElementHandle.getElementsByClassName('Test')[0].style.setProperty('display','none');

那么,如果我想更改

style
对象中这些
TJSNode
项目之一的
TJSHTMLCollection
,我该怎么办?

delphi getelementsbyclassname tms-web-core
1个回答
0
投票

好吧,我刚刚发现我可以简单地将

TJSNode
转换为
TJSHTMLElement
,这就是
ElementHandle
返回的内容,然后我就可以访问它上面的
style

var
  TestElement: TJSHTMLElement;
begin
  TestElement := TJSHTMLElement(Panel1.ElementHandle.getElementsByClassName('Test')[0]);
  TestElement.style.setProperty('display','none');
end;
© www.soinside.com 2019 - 2024. All rights reserved.