gpt4 book ai didi

javascript - innerHTML 不保持宽度 - Javascript/CSS

转载 作者:行者123 更新时间:2023-11-30 12:58:24 26 4
gpt4 key购买 nike

我正在使用 innerHTML 根据选定的选项打印出一些带有一些文本框的 div。

当 html 打印出来时,尽管我在 css 外部、内部或内联中对其进行编码,但 div 不保持其宽度。在 firebug 中,宽度显示为设置为 200px,但从视觉上您可以清楚地看到宽度没有应用。在 Firefox 和 Chrome 中测试...

谁能帮帮我?这是一个 JSFiddle:

http://jsfiddle.net/HhJhK/

Javascript:

window.getTickets = function () {

$amountId = document.getElementById('event_tt').value;

$x = document.getElementById($amountId).value;

var div = document.getElementById('booking_area');

div.innerHTML = '<div style="width:750px;clear:both;"><div class="cell" style="width:30%;">First Name</div><div class="cell" style="width:30%;">Last Name</div><div class="cell" style="width:30%;">Email</div></div>';

for (var i = 1; i <= $x; i++) {
div.innerHTML = div.innerHTML + '<div style="width:750px;clear:both;"><div class="cell" style="width:30%;"><input type="text" name="par_fname" id="par_fname"></div><div class="cell" style="width:30%;"><input type="text" name="par_lname" id="par_lname"></div><div class="cell" style="width:30%;"><input type="text" name="par_email" id="par_email"></div></div>';
}
}

CSS:

.cell {
width:200px;
display: inline;
overflow:hidden;
}

最佳答案

在创建 html 的字符串中,它在标记中指定宽度作为内联百分比。由于这是一种内联样式,它将优先于 CSS 中指定的样式。您需要从 HTML 字符串中删除 style="30%"

然后把.cell改成inline-block让宽度生效。

.cell{
width:200px;
display: inline-block;
overflow:hidden;
}

示例 http://jsfiddle.net/HhJhK/1/

重构的 JS

window.getTickets = function() {

$amountId = document.getElementById('event_tt').value;

$x = document.getElementById($amountId).value;

var div = document.getElementById('booking_area');

div.innerHTML = '<div style="width:750px;clear:both;"><div class="cell">First Name</div><div class="cell" >Last Name</div><div class="cell">Email</div></div>';

for (var i=1;i<=$x;i++){
div.innerHTML = div.innerHTML + '<div style="width:750px;clear:both;"><div class="cell"><input type="text" name="par_fname" id="par_fname"></div><div class="cell"><input type="text" name="par_lname" id="par_lname"></div><div class="cell"><input type="text" name="par_email" id="par_email"></div></div>';
}

关于javascript - innerHTML 不保持宽度 - Javascript/CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18244225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com