Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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 Jquery创建不带结束标记的元素_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript Jquery创建不带结束标记的元素

Javascript Jquery创建不带结束标记的元素,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,在我的用例中,我需要使用jquery动态构建一些HTML 我从这个函数开始: function createSection(divName) { $("#"+ divName).append("<section id='team' class='pb-5'>\ <div class='container'>"); } function createRow(divName) { $("#"+ divName).append("&l

在我的用例中,我需要使用jquery动态构建一些HTML

我从这个函数开始:

function createSection(divName) {
    $("#"+ divName).append("<section id='team' class='pb-5'>\
        <div class='container'>");    
}
function createRow(divName) {
     $("#"+ divName).append("<div class='row'>");
}
函数createSection(divName){
$(“#”+divName).append(“\
");    
}
然后我继续这个函数:

function createSection(divName) {
    $("#"+ divName).append("<section id='team' class='pb-5'>\
        <div class='container'>");    
}
function createRow(divName) {
     $("#"+ divName).append("<div class='row'>");
}
函数createRow(divName){
$(“#”+divName);
}
然后我添加了一些其他元素,然后我想关闭该节中的行,如下所示:

    function closeRow(divName) {
    $("#"+ divName).append("</div>");
}   

function closeSection(divName) {
    $("#"+ divName).append("</div></section>");
}     
函数closeRow(divName){
$(“#”+divName);
}   
函数closeSection(divName){
$(“#”+divName);
}     
然而,Jquery似乎添加了结束标记本身。这把我的代码搞乱了

我得到这个html:

<section id="team" class="pb-5">
        <div class="container">
        </div>   </section>

执行第一个函数
createSection
后。
如何避免这种情况?

元素没有标记。它们本身就是完整的对象

标记用于在HTML中创建元素

jQuery允许您使用HTML语法创建元素,但这只是一个抽象。jQuery不会在内存中保留HTML字符串并允许您修改它。它处理的是整个元素

如果要处理HTML字符串,则需要处理字符串而不是jQuery

不过,最好使用元素。使用
$()
而不是
append()
创建div。添加子项。将其附加到父元素

function createRow(divName) {
     var row = $("<div />");
     row.addClass("row");
     $("#"+ divName).append(div);
     return row;
}
函数createRow(divName){
变量行=$(“”);
行。添加类(“行”);
$(“#”+divName).append(div);
返回行;
}

请共享演示它将自动生成结束标记,因此最好创建HTML字符串(追加)并在最后插入。我知道它会自动生成结束标记,但如何避免这种情况?是否有原因不能将其全部合并到一个函数中?可能会放入一个完整的“部分”每次你想添加一个新的部分时,我都会把它复制到一个新的分区中。啊,我会试试的。谢谢