我在显示带有隐藏div的列表时遇到问题。每当您单击LI元素时,我都会使用jQuery的toggleSlide()
函数显示/隐藏DIV元素。
当DIV变得可见时,问题就来了,因为DIV遍历了其余元素,而不是在列表元素之间留出空间以在此处打印出来。
目前,这是我的代码:
elementList.append('<li class="element" onclick="toggleDetails(this);"><span class="elementName">' + elementsArray[i]["descMarca"] + ' ' + elementsArray[i]["descModelo"] + '</span>'
+ '<div class="elementDetails hidden"><label for="marca">Marca:</label><span>' + elementsArray[i]["descMarca"] + '</span>'
+ '<label for="modelo">Modelo:</label><span id="modelo">' + elementsArray[i]["descModelo"] + '</span>'
+ '<label for="serialN">Licencia:</label><span id="serialN">' + elementsArray[i]["serialN"] + '</span>'
+ '<label for="productN">Número de producto:</label><span id="productN">' + elementsArray[i]["productN"] + '</span>'
+ '<label for="fecAlta">Fecha de alta:</label><span id="fecAlta">' + fecAlta + '</span>'
+ '<label for="fecRenov">Fecha de renovación:</label><span id="fecRenov">' + fecRenov + '</span></div></li>');
elementList.css('display', 'block');
作为必需的CSS这一个:
.element {
height: 5vh;
line-height: 5vh;
padding-left: 20px;
vertical-align: center;
cursor: pointer;
}
.elementDetails {
width: 50%;
margin-left: 25%;
}
如果我在LI元素上设置
display: inline;
,它将按预期工作。当我想要一个垂直列表时,问题就来了,所以无法为每个LI元素设置display: inline;
属性。提前致谢。
最佳答案
您需要将display: block;
(而不是display: inline;
)设置为li
元素