Проверка стиля отображения элементов DIV
У меня есть контейнер div id="cMsgArea"
это используется для размещения нескольких div, которые динамически добавляются через AJAX. Мне нужно контролировать количество дочерних элементов, которые видны в любой момент времени.
var theDIV = document.getElementById('cMsgArea');
console.log('1)' + theDIV.innerHTML );
var divNode = theDIV.firstChild;
console.log('divNode:' + divNode.innerHTML);
console.log("divNodeDisplay:" + divNode.style.display);
console.log("divNodeStyle:" + divNode.style );
while (divNode.style.display !== "block") {
divNode = divNode.nextSibling;
}
return divNode;
Результаты консоли:
1)<div style="float:left; clear:left;">[<i>2014.07.05 13:21:09</i>]DreamGuru:(1)(1)</div><div style="float:left; clear:left;">[<i>2014.07.05 13:21:09</i>]DreamGuru:(2)(1)</div><div style="float:left; clear:left;">[<i>2014.07.05 13:21:14</i>]DreamGuru:(1)(12)</div><div style="float:left; clear:left;">[<i>2014.07.05 13:21:14</i>]DreamGuru:(2)(12)</div> si5.js:140
divNode:[<i>2014.07.05 13:21:09</i>]DreamGuru:(1)(1) si5.js:142
divNodeDisplay: si5.js:143
divNodeStyle:[object CSSStyleDeclaration] si5.js:144
Uncaught TypeError: Cannot read property 'style' of null
ВопросdivNode
показывает мне правильное значение для innerHTML
но .style.display
указывает, что стиль является нулевым. Как мне получить значение style.display?
Обновление Патрика Эванса было правильным, я смотрел не с той стороны проблемы. Тем не менее, это решено, но я также хочу отметить, что мне также пришлось внести изменения в код, который добавлял div в контейнер, чтобы явно добавить, что стиль включает display:block
,
1 ответ
Вы можете получить информацию о стиле здесь
$("#yourID").prop('style')