.wrap не оборачивается

#jquery

#jquery

Вопрос:

Я написал это:

    <html>
    <head>

    <script type="text/javascript" src="jquery.js"></script>
    <script> jQuery(document).ready(function($)
     { $("div.productInfo").wrap("<div id='productDetails' />"); 
            $("ul.productInfo").wrap("<div id='specs' />");
      $("#centerColumn"   "#rightColumn").wrap("<div id='test' />");
     });
     </script>


    </head>
    <body>
    <p id="centerColumn" >This is a paragraph.</p>
    <p id="rightColumn" >This is another paragraph.</p>
    <div class="productInfo" > Wow </div>

    </body>
    </html>
  

И #centerColumn не переносится, только #rightColumn get переносится, почему?

Ответ №1:

Вы используете этот селектор:

 $("#centerColumn"   "#rightColumn")
  

Существует оператор конкатенации. Он соединяет строки, поэтому ваш код такой же, как этот:

 $("#centerColumn#rightColumn")
  

Очевидно, что это не приведет ни к чему полезному.

Я думаю, вам нужен множественный селектор:

 $("#centerColumn, #rightColumn").wrap("<div id='test' />");
  

Если вы хотите поместить оба столбца в один и тот же элемент-предок, вам понадобится wrapAll . Это кажется вероятным, потому что вы предоставляете своему элементу обертывания атрибуты id и id , которые должны быть уникальными.

 $("#centerColumn, #rightColumn").wrapAll("<div id='test' />");
  

Ответ №2:

 <html>
<head>
    <script src="jquery.js"></script>
    <script>
        $(function() {
            $("div.productInfo")
                .wrap("<div id='productDetails'><div id='specs' /></div>");
            $("#centerColumn, #rightColumn").wrapAll("<div id='test' />");
            // or .wrap() instead of .wrapAll() depends on your intentions
        });
    </script>
</head>
<body>
    <p id="centerColumn">This is a paragraph.</p>
    <p id="rightColumn">This is another paragraph.</p>
    <div class="productInfo"> Wow </div>
</body>
</html>
  

Смотрите также:

Ответ №3:

Возможно, потому что это:

 $("#centerColumn"   "#rightColumn").wrap("<div id='test' />");
  

Должно быть так:

 $("#centerColumn,#rightColumn").wrap("<div id='test' />");