2010-02-25 75 views
1

没有人知道如何获取所有样式应用于使用jquery的id(所以我可以稍后在另一个标签中重用)?像 CSS:jquery从ID获取样式

div#myid{ 
width:100px; 
height:100px;} 

,所以我以后可以这样做:

for (var parts in $('#myid').css()) 
alert ('all parts of the style' + parts); 

回答

2

$( '#身份识别码')ATTR( '类')返回的类的字符串。

你应该可以从这里弄清楚。

var classes = $('#myid').attr('class').split(' '); 
for(var c in classes) 
{ 
    alert(classes[c]); 
} 
+0

一个小的变化将警报(三); //类[c]会抛出错误 – Raja 2010-02-25 18:53:09

+0

不知道'c'由于某种原因返回为int ... – ctrlShiftBryan 2010-02-25 19:16:56

0

这不是jQuery的,但效果很好:

var style = window.getComputedStyle(document.getElementById('myid'), null); 
    alert(style.color); 

您可以通过$('#myid').get(0)代替document.getElementById('myid')如果你真的想在这里jQuery的使用。

这适用于由CSS给出的样式或直接应用于具有style属性的元素。

0

不确定..我曾尝试过attr('class'),它返回空。现在尝试再次产生相同的结果(差不多)。我想在jQuery中的attr('class')与通过id定义的样式完全相同。尝试运行这个,让我知道如果你得到不同的结果请:

<html> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    alert($('#myid').attr('class')); // returns 'empty' 
    var classes = $('#myid').attr('class').split(' '); 
    for(var c in classes){ 
     alert(c); // returns 0 
    } 
    }); 
</script> 

<style> 
#myid { 
width:100px; 
height:100px; 
background:red; 
} 
</style> 

<body> 
<div id="myid"></div> 
</body> 

</html> 
+0

是window.getComputedStyle跨浏览器兼容的任何机会吗? :) – joe 2010-02-25 22:29:53