1

我正在考虑使用php dom类构建我的网站。假设我已经有一个带有正文的文档,如果我像这样向正文添加一个 div:

$div = $document->createElement('div');
$document->getElementsByTagName('body')->item(0)->appendChild($div);

有没有办法为这个有多个条目的元素设置一个“样式”属性?例如,最终看起来像这样:

<div style="top: 40px; left: 60px;"></div>

我知道我可以这样做:

$div->setAttribute('style', 'top: 40px; left: 60px;');

但我希望无需通过正则表达式解析值即可访问样式的各个方面。这是因为我想在代码的其他部分轻松访问 40px 值。

4

3 回答 3

3

XML 属性用于将名称-值对与元素相关联。DOM 不(也不能)知道您将 CSS 放在那里。这是因为 DOM 用于任意 XML 应用程序,而不仅仅是用于 XHTML。CSS 是一个不同的域。所以你必须手动解析它。

或者,看看http://querypath.org。它支持直接添加和读取样式属性

于 2012-05-23T07:47:40.777 回答
2

像这样的结构(自己写的)怎么样:

$div = new Div();
$div->addStyle('top:', '40px;');
$div->addStyle('left:', '60px;');
print_r($div->Style)//for access of all style elements in case you need to modify them
$document->addElement($div);
//in case you need to modify an already added element, just
$document->Elements[17]; //or something similar

希望你会发现一些有用的东西:)

于 2012-05-23T07:48:12.260 回答
-1

使用 setAttribute 为当前元素设置一个类并将自定义 css 添加到 style.css 文件

于 2017-02-17T09:19:39.980 回答