Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道id或类是否有样式?_Javascript - Fatal编程技术网

Javascript 如何知道id或类是否有样式?

Javascript 如何知道id或类是否有样式?,javascript,Javascript,(问题是还没有用这样的id或类创建元素。) jQuery非常适合这种类型的东西 // instead of 'width' could be 'font-size', 'color', 'position', etc var result = getCSS('some_id_name_or_class_name', 'width'); // may be the value or 'null' if there is no style for such an id name or a clas

(问题是还没有用这样的id或类创建元素。)

jQuery非常适合这种类型的东西

// instead of 'width' could be 'font-size', 'color', 'position', etc
var result = getCSS('some_id_name_or_class_name', 'width');

// may be the value or 'null' if there is no style for such an id name or a class name
alert(result); 
您可以给该选项一个快照(它仅适用于ID,但您可以修改它):

不过,你绝对应该去链接。有一些怪癖(不同的浏览器期望styleProp参数采用不同的格式)

同样,您可以以此为基础,构建所需的功能(例如隐藏跨浏览器问题,使其与类一起工作,等等)

编辑

由于您不希望获取计算值,因此可以使用document.styleSheets集合从CSS中读取值:


同样,还有一些跨浏览器实现细节(cssRules vs.rules),但您可以编写代码来解决这些细节。

您想获取该元素的
样式声明还是计算样式(=影响该元素的所有样式的总和)?另外,您的两个要求相差甚远。jQuery在我国是禁止的=(jQuery在这方面很好,但你可能也想提供一个代码示例。@Soverin-说真的?我不知道任何国家禁止javascript库…@Soverin那是哪个国家?是的,政府只禁止jQuery。Justin,问题是还没有用这样的id或类创建元素。@Soverin-你需要一个元素在获取页面的计算样式值之前,请在页面上输入ent。不,我不需要计算样式,只需要声明样式。元素将在这样的id名称或类名下创建。我需要知道是使用用户声明的样式还是设置默认样式。@Soverin-为什么在将元素添加到页面之前需要这些样式因为这个JavaScript程序允许用户将一些样式设置为css,如果声明的任何样式使用这些样式,则使用默认样式。
alert($("#yourIdHere").css("whateverCssPropertyYouWant"));
function getStyle(el,styleProp)
{
    var x = document.getElementById(el);
    if (x.currentStyle)
         var y = x.currentStyle[styleProp];
    else if (window.getComputedStyle)
         var y = document.defaultView
                         .getComputedStyle(x,null)
                         .getPropertyValue(styleProp);
    return y;
}