Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Div中动态添加Div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何在Div中动态添加Div

Javascript 如何在Div中动态添加Div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个Div,我想在其中动态添加另一个小Div。但小Div的严格要求是在主Div里面。我在里面添加了一个小Div。但是如何在主div中动态添加所有15个div,我不知道。此外,小Div的大小是固定的,如果它们的数量更多,比如说20,那么主Div应该有水平滚动条 以下是使用的HTML: <div id="tables" style="width:740px; height:50px; border:1px solid;margin-left:180px;"> <div i

我有一个Div,我想在其中动态添加另一个小Div。但小Div的严格要求是在主Div里面。我在里面添加了一个小Div。但是如何在主div中动态添加所有15个div,我不知道。此外,小Div的大小是固定的,如果它们的数量更多,比如说20,那么主Div应该有水平滚动条

以下是使用的HTML:

 <div id="tables" style="width:740px; height:50px; border:1px solid;margin-left:180px;">

 <div id ="1" style="border:1px solid; height:44px; width:50px; margin-left:2px; margin-top:2px; margin-bottom:2px;">1</div>

 </div>

这是我的小提琴链接:

您需要根据需要多次循环,创建元素,然后将它们附加到表中。大概是这样的:

var $tables = $('#tables');
for (var i = 1; i <= 15; i++) {
    $('<div />', { class: 'inner', text: i }).appendTo($tables);
};

如果需要,您可以重新添加id属性,但我建议不要使用增量id属性,因为它们只会导致维护问题。另外,为了更好地分离关注点,我更改了样式以使用实际的CSS类。

您可以在jQuery中使用以下代码来附加div:

smallDivWidth =  (740 / 15);

for (var i = 1; i <= 15; i++) {
    $('#tables').append('<div style="border:1px solid; height:44px;float:left; margin- left:2px; margin-top:2px; margin-bottom:2px;">1</div>');
$('#tables').children().css('width',(smallDivWidth-4)+'px');
};
作为示例,请参见此处:

$btnDynamicDiv.clickfunction{ var smallDivWidth=740/15; 对于var i=1;i尝试如下

HTML:

JS:


你什么都没试过fiddle@Jai这在HTML5中现在是有效的。请避免使用内联样式,而是使用css类,这样您的代码更可读jQuery@RoryMcCrossan我知道,但需要从普里蒂什库马尔那里知道。@Rorymcrossan nevermind收到了,非常感谢!谢谢你的回答。你能告诉我怎么做吗w将动态div水平放置在主div内,而不是竖直放置,如fiddle所示。我希望Rory将该工作留给您:@Pritishkumar使用CSS,display:inline block或float:left。@RoryMcCrossan谢谢,我尝试了您的CSS,但前5个div进入父div内,其余的都在新行中,而我正在尝试o使用水平滚动条将其添加到同一个父Div中。您应该针对此问题开始一个新问题,因为它与CSS相关,而不是jQuery或javascript。
<div id="tables">
    <div class="inner" id="innder-1">1</div>
</div>

<div class="inner inner-template"></div>

<br>
<button id="add-btn">Add inner</button>
#tables {
    width:200px; 
    height:50px; 
    border:1px solid;
    white-space: nowrap;
    overflow-x: auto;
}

.inner {
    border:1px solid;
    height:44px;
    width:50px;
    margin-left:2px;
    margin-top:2px;
    margin-bottom:2px;
    display: inline-block;
    vertical-align: top;
    white-space: howrap;
}

.inner-template {
   display: none;
}
var $template = $('.inner-template');

$('#add-btn').on('click', function() {
    var currentID = $('#tables .inner').length + 1;
    var $inner = $template
        .clone()
        .removeClass('inner-template')
        .attr('id', 'inner-' + currentID)
        .text(currentID)
        .appendTo('#tables');
});