如何获取DOM元素服务器端的css属性?

时间:2009-06-10 20:17:45

标签: css coldfusion

我只能想到使用jQuery的客户端解决方案,但是可以从服务器端解析页面元素的CSS属性吗?

我正在考虑使用CSS解析器来捕获属性,但由于CSS的级联性质,这不起作用。

谢谢!

8 个答案:

答案 0 :(得分:1)

你的答案非常笼统,很难理解你想要做什么。你能提供一个代码示例吗?

如果您只想根据某些服务器端逻辑向元素添加一个类,那么就这样做:

<a href="" style="<cfif a eq a>myclass</cfif>"></a>

修改

亨利想确定一个元素的颜色(例如:#title),然后根据颜色来运行一些coldfusion:

我可以想到这样做的最好方法是在客户端使用jQuery来确定颜色并根据它调用ajax请求:

$(function(){

    var color = $("#title").css("color");

    if(color == "blue")
    {
        $("#my-code-container").load("my-logic.cfm");
    }

});

答案 1 :(得分:0)

不确定这是否有帮助,但是有一个名为jTidy的Java项目将接受html(格式错误或不符合)并用DOM接口表示它。从他们的网站,

  

“此外,JTidy为正在处理的文档提供了一个DOM接口,这有效地使您能够将JTidy用作真实HTML的DOM解析器。” - http://jtidy.sourceforge.net/

我之前在个人项目中使用它是用Coldfusion编写的,以便更容易从已爬网页面中提取链接。我没有使用大讨厌的正则表达式,而是使用xPath来“查询”我的元素的dom。在某些方面,xPath与jQuery的选择器类似。

答案 2 :(得分:0)

在页面加载之前,您是否需要对值执行某些操作?如果没有,你可以在jQuery中执行它,然后Ajax将值发布回CF.

答案 3 :(得分:0)

使用客户端(“ a 客户端”)来帮助您。

将页面呈现给客户端,编写在浏览器中运行的jQuery,并将CSS属性发回到您的一个CF页面。

你想用这些信息做什么?

答案 4 :(得分:0)

我有理由相信没有服务器端解决方案 - JRun服务器实际上并不知道它发送到Web服务器的内容;它只是处理代码并推出结果。

答案 5 :(得分:0)

来自远景部门:

如果你使用的是使用JDK 6的CF版本,你可以从技术上跳转到RHINO并通过它执行JQuery并让它解析文件,让你获得样式。

RHINO并不真正包含DOM,我相信JQuery需要它,所以这是一个真正的远景。

答案 6 :(得分:0)

带有内置webkit引擎的Java 7! :)

答案 7 :(得分:-4)

在C#中,您拥有包含在Classes和Collection中的所有DOM。

button.Styles.Add(“style”,“value”);
button.Styles [“style”] =“value”;

级联和继承不会反映在服务器端。