Javascript 如何使用jquery选择器添加打开的div标记?

Javascript 如何使用jquery选择器添加打开的div标记?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,可能重复: 我需要在之前和之后添加一些HTML 选择器可以工作,但当它添加HTML时,它也会通过添加关闭。我需要把它打开 我的代码: $('#ja-megamenu .level1').before('<div class="childcontent cols1 ">'); 要添加结账 这个代码不起作用。我怎样才能让它工作 一整天都在阅读文档,但还没有找到答案 谢谢:-)您不能这样做,如果要在元素周围添加div,请使用 $('#ja megamenu.level1').wrap(

可能重复:

我需要在
  • 之前和之后添加一些HTML

    选择器可以工作,但当它添加HTML时,它也会通过添加
    关闭
    。我需要把它打开

    我的代码:

    $('#ja-megamenu .level1').before('<div class="childcontent cols1 ">');
    
    要添加结账

    这个代码不起作用。我怎样才能让它工作

    一整天都在阅读文档,但还没有找到答案


    谢谢:-)

    您不能这样做,如果要在元素周围添加div,请使用

    $('#ja megamenu.level1').wrap('');
    
    但是你的问题是一个div包不住一个li!您需要做一些其他的事情。

    尝试使用,若您想在html之前和之后添加html

    $('#ja-megamenu .level1').wrap('<div class="childcontent cols1 ">');
    
    $('#ja megamenu.level1').wrap('');
    
    尽管此HTML无效(
  • 的父项不能是
    ),但您可以使用:

    $(“#ja megamenu.level1”).wrap(“”);
    
    使用换行符

    $('#ja-megamenu .level1').wrap('<div class="childcontent cols1">');
    
    $('#ja megamenu.level1').wrap('');
    
    首先,这是无效的操作,因为您不能在
    li
    之前或之后添加
    div

    li
    元素必须位于
    ul
    ol
    容器中,其同级元素必须是
    li

    所以试着改变你的结构:也许把
    div
    放在
    li

    <ul>
        <li class="level1"><div></div></li>
        <li></li>
        <li></li>
    </ul>
    
    $('.level1').prepend('<div> Your content here</div>');
    
    $('.level1').prepend('Your content here');
    不仅
    可以是容器,而且
    @VisionN你是对的,我会编辑我的回答我的不好,我是说ul:-)这是一个很好的解决方案,但是:-)谢谢你,成功了!我的错,我的意思是UL:-)仍然有一个问题,下拉列表不起作用,但这是另一种情况:-)更正:这起作用,但下面的文档我不需要添加到.wrap()中。这是正确的答案。我在问题中还写了一个错误:我想要的是UL而不是LI.:-)@内特汉德尔说得更有道理。不客气:)
    $("#ja-megamenu .level1").wrap("<div class='childcontent cols1' />");
    
    $('#ja-megamenu .level1').wrap('<div class="childcontent cols1">');
    
    <ul>
        <li class="level1"><div></div></li>
        <li></li>
        <li></li>
    </ul>
    
    $('.level1').prepend('<div> Your content here</div>');