2016-01-10 1 views
0

У меня есть HTML как это:Подсчет количества имущества класса JQuery

<style> 
.hello {background:#ccc} 
</style> 
<div class="hello" style="height:40px; width:60px; display:inline-block">something</div> 

В настоящее время класс привет имеет 4 свойства (фон, высота, ширина, дисплей), но как я могу подсчитать количество имущества класс по jquery?

Большое вам спасибо.

+1

"_... clas s hello имеет три свойства ..._ «Какие свойства вы говорите? 'height',' width' и 'display' из атрибута' styles '? – Andreas

+0

Привет Андреас. Да. Это то, что я ищу –

ответ

1

Попробуйте использовать .attr(), String.prototype.split() с параметром ";" для извлечения style свойств атрибутов; используя .text(), String.prototype.replace() с RegExp/\n|\s+/g, String.prototype.match() с RegExp\.hello\{.*\}/, String.split() с RegExp/\.hello\{|\}|;/, Array.prototype.filter() с параметром Boolean для извлечения свойства устанавливают на style элемент для .hello, Array.prototype.push() нажать свойства при style элемента к props массива

var props = $(".hello").attr("style").split(";"); 
 

 
props.push.apply(props, 
 
       $("style").text() 
 
       .replace(/\n|\s+/g, "") 
 
       .match(/\.hello\{.*\}/)[0] 
 
       .split(/\.hello\{|\}|;/) 
 
       .filter(Boolean) 
 
       ); 
 

 
console.log(props, props.length);
.hello { 
 
    background: #ccc; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
 
</script> 
 
<div class="hello" style="height:40px; width:60px; display:inline-block">something</div>

+0

Привет. это здорово, но если я добавлю новое свойство в класс .hello, как это .hello {background: #ccc}, то это длина имеет всего 4 свойства, то мы не можем считать это? –

+1

@MinhAnh Смотреть обновленное сообщение – guest271314

+0

Это замечательно. благодарю вас за помощь с очень подробным объяснением. –

Смежные вопросы