【发布时间】:2015-07-14 12:31:08
【问题描述】:
我正在创建一个网站,该网站通过 ajax 调用从数据库加载内容,然后通过创建元素并将它们附加到其父元素来写入数据。
它目前无法正常工作,如下图所示,但是当我使用开发人员工具手动添加 HTML 时,一切正常。
应该是这样的,
这是它目前的样子,
我做错了什么?
(jsFiddle)
var thumbsDIV = document.createElement('div');
thumbsDIV.className = 'Thumbs';
for (var i = 0; i < this.pictures.length; i++) {
var pictureID = this.pictures[i].pictureID;
var thumbDIV = document.createElement('div');
thumbDIV.className = 'Thumb';
var thumbIMG = document.createElement('img');
thumbIMG.id = 'Review_' + this.iD + '_Picture_' + this.pictures[i].pictureID;
thumbIMG.src = this.pictures[i].picture;
thumbIMG.border = '0';
thumbDIV.appendChild(thumbIMG);
thumbsDIV.appendChild(thumbDIV);
}
picturesDIV.appendChild(thumbsDIV);
parentDIV.appendChild(picturesDIV);
.Thumb {
display: inline-block;
margin-bottom: 5px;
width: 15%;
cursor: hand;
cursor: pointer;
zoom: 1;
*display: inline;
}
.Thumbs:after {
content: "";
width: 100%;
display: inline-block;
zoom: 1;
*display: inline;
}
.Thumb img {
width: 100%;
}
<div class="Thumbs">
<div class="Thumb" onClick="ViewThumb(1,1)">
<img src="http://smakelynn.com/images/pictures/pic2.png" id="Review_1_Picture_1" border="0" title="Voorgerecht">
</div>
<div class="Thumb" onClick="ViewThumb(1,2)">
<img src="http://smakelynn.com/images/pictures/pic1.png" id="Review_1_Picture_2" border="0" title="Hoofdgerecht">
</div>
<div class="Thumb" onClick="ViewThumb(1,3)">
<img src="http://smakelynn.com/images/pictures/pic3.png" id="Review_1_Picture_3" border="0" title="Dessert">
</div>
<div class="Thumb" onClick="ViewThumb(1,4)">
<img src="http://smakelynn.com/images/pictures/pic4.png" id="Review_1_Picture_4" border="0" title="Tafeldekking">
</div>
<div class="Thumb" onClick="ViewThumb(1,5)">
<img src="http://smakelynn.com/images/pictures/pic5.png" id="Review_1_Picture_5" border="0" title="Sfeerbeeld">
</div>
</div>
【问题讨论】:
-
您希望
content:追随.Thumbs而不是.Thumb?还是打错字了? -
...无论如何,
content:在 JS 之后对我有用。布局的一个不同之处在于,每个.Thumb元素之后不再有空白文本节点。此外,您的onclick将无法提供所需的结果,但这是另一个问题。 -
嘿伙计们,我把它放在 jsfiddle 中,在那里你可以看到不同之处。问题确实是图像之间缺少空间,这似乎是由于元素一个接一个地插入(如果你在每个 '.Thumb' div 之后输入一个回车,空格就会神奇地出现)
-
您不想这样做。改用 flexbox。 css-tricks.com/snippets/css/a-guide-to-flexbox
标签: javascript html css