我只能想到使用jQuery的客户端解决方案,但是可以从服务器端解析页面元素的CSS属性吗?
我正在考虑使用CSS解析器来捕获属性,但由于CSS的级联性质,这不起作用。
谢谢!
答案 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”;
级联和继承不会反映在服务器端。