因此,如果有一个链接到网页的css文件,例如:
<link href="style.css" rel="stylesheet" type="text/css">
并且我想读取某个属性,例如div具有className =’layout’,并且我想使用JavaScript读取此属性的详细信息,我该怎么做?
我搜索了很多,但几乎没有运气,请提出建议。
您有两种选择:
document.styleSheets
对象(不建议使用,除非您要获取由某个选择器定义的所有特定样式属性)。getComputedStyle
或currentStyle
(IE)方法获取属性值。在你的榜样,试图得到一定的属性(比如说:color
)有一个div class="layout"
:
function getStyleProp(elem, prop){
if(window.getComputedStyle)
return window.getComputedStyle(elem, null).getPropertyValue(prop);
else if(elem.currentStyle) return elem.currentStyle[prop]; //IE
}
window.onload = function(){
var d = document.createElement("div"); //Create div
d.className = "layout"; //Set class = "layout"
alert(getStyleProp(d, "color")); //Get property value
}
关于您的问题的评论 ,另一个函数:
下面的函数将忽略当前元素的内联样式定义。如果您想知道从样式表继承的样式定义(不包含父元素的继承样式定义),请遍历树并临时擦除.cssText
属性,如以下功能所示:
function getNonInlineStyle(elem, prop){
var style = elem.cssText; //Cache the inline style
elem.cssText = ""; //Remove all inline styles
var inheritedPropValue = getStyle(elem, prop); //Get inherited value
elem.cssText = style; //Add the inline style back
return inheritedPropValue;
}
问题内容: 在某些元素具有自定义CSS属性的应用程序中,是否可以通过JavaScript检索此类值? 例如 我可以通过以下两种方法访问color属性: 但是这些不适用于自定义属性。完全支持吗? 问题答案: 浏览器无法理解的CSS值将被丢弃,这说明了为什么无法通过来获取CSS值。 过去,您不得不依靠存储具有数据属性的数据并自己通过JavaScript处理继承。 但是,自此以来,“自定义属性”(也称为
问题内容: 我想: 查找页面中所有元素的样式属性(例如:具有的所有元素) 更改所有属性(例如从到)。 您对此有何建议? 问题答案: 我的建议是尽可能避免这样做。而是使用类来分配颜色值,然后可以使用该类而不是颜色值来查找元素。 据我所知,没有可用于查询 特定 样式值的选择器(即使在CSS3中也是如此),这意味着循环遍历所有元素(或者看起来可以将其限制为具有属性的所有元素)并看着财产。现在,问题是,即
我正在尝试访问容器的属性并获取图像URL。 问题是容器div最初是隐藏的,而图像url是动态添加的,并且容器是可见的。 当我尝试使用访问元素时,它返回给我。 html代码为: 此分区的CSS为: 但是,使用下面的代码可以获得url字符串: 使用以下代码动态添加图像容器“photo_holding”
问题内容: 如果我使用以下命令在特定元素上设置CSS值: 我希望能够取消设置特定于元素的值并使用级联值,具体如下: 但是该语法似乎不起作用–是否可以使用其他语法? 编辑: 该值不是从父元素继承的-原始值来自元素级选择器。抱歉给您带来任何混乱! 问题答案: 从jQuery文档: 将样式属性的值设置为空字符串(例如),如果该属性已被直接应用(无论是在HTML样式属性中,通过jQuery的方法还是通过对
问题内容: 我正在使用Java解析Xml,我想在属性值的帮助下解析元素。 例如 在这种情况下,我想使用att值解析tag1数据。我是java和xml的新手。请引导我。 问题答案: 有多种方法可以做到这一点。您可以使用xPath(示例),DOM Document或SAX Parser(示例)来检索属性值和标记元素。 这是您要求的解决方法。我从不建议使用“ hack”类型,而是使用SAX(请参见示例链
问题内容: 我需要获取所有CSS属性的元素列表。我怎样才能做到这一点 ? 问题答案: 从SO1004475复制源-jQueryCSS插件可返回元素的计算样式以伪克隆该元素?-如果您觉得有用,请点击链接并在那里进行评论。 看起来很荒谬,但这可能是您最好的选择- 不带任何参数的情况下,使用所有这些东西设置对象。 请注意,这不会捕获所有可能的CSS属性,尤其是CSS3的新属性。这是一个所有标准的CSS和