JQuery получить стили из идентификатора - PullRequest
1 голос
/ 25 февраля 2010

Кто-нибудь знает, как я могу применить все стили к идентификатору с помощью jquery (чтобы я мог использовать его позже в другом теге)? что-то вроде CSS:

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

так что позже я смогу сделать что-то вроде:

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

Ответы [ 3 ]

2 голосов
/ 25 февраля 2010

$ ('# myid'). Attr ('class') возвращает строку классов.

Вы должны быть в состоянии понять это отсюда.

var classes = $('#myid').attr('class').split(' ');
for(var c in classes)
{
    alert(classes[c]);
}
0 голосов
/ 26 февраля 2010

Не уверен .. Я пробовал attr ('class') раньше, и он вернулся пустым. попытка сейчас снова дает тот же результат (почти). я полагаю, что attr ('class') в jquery не совпадает со стилями, определенными через 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 голосов
/ 25 февраля 2010

Это не JQuery, но работает хорошо:

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

Вы можете заменить document.getElementById('myid') на $('#myid').get(0), если вы действительно хотите использовать jquery здесь.

Это работает либо для стиля, заданного CSS, либо для непосредственного применения к элементу с атрибутом style.

...