javascript - jquery创建没有结束标签的元素

标签 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("<div class='row'>");
}

然后在我想关闭该部分的行之前添加一些其他元素,如下所示:

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

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

但是,Jquery 似乎自己添加了结束标记。这弄乱了我的代码。

我得到这个 html:

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

在我的第一个函数 createSection 执行后。 我怎样才能避免这种情况?

最佳答案

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

标签用于在 HTML 中创建元素。

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

如果你想处理一串 HTML,那么你需要处理一个字符串而不是 jQuery。

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

function createRow(divName) {
     var row = $("<div />");
     row.addClass("row");
     $("#"+ divName).append(div);
     return row;
}

关于javascript - jquery创建没有结束标签的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55165988/

相关文章:

javascript - $(document).ready(function(){ Uncaught ReferenceError : $ is not defined

php - 动态绑定(bind)Jquery回调函数

javascript - 使用严格的 MeteorJS

Javascript 改变元素的类

javascript - 为什么通过函数参数从 div 获取文本不起作用?

javascript - 根据值重复选择复选框

javascript - Redux:combineReducers 形状独立

php - 为什么 Google 广告没有显示在我的 WordPress 网站的主页上?

JavaScript - 使图像在点击时变白

jQuery 从 iframe 代码获取 YouTube 视频 src