JQuery каждый () циклы сбоя - PullRequest
       3

JQuery каждый () циклы сбоя

0 голосов
/ 08 августа 2011

Я пытаюсь написать цикл, чтобы обернуть все изображения на картинке через Jquery:

var $csstring = "div.article_column a img";
$($csstring).each(
  function() {    
        $($csstring).parent().wrap("<div class='dropshadow'></div>");
 });  

, и я получаю это:

<div class="dropshadow">
    <div class="dropshadow">
        <div class="dropshadow">
            <div class="dropshadow">>
                <div class="dropshadow">
                    <a target="_blank" href="/ferdynand.jpg">
                        <img height="126" width="190" border="0" src="aae7dda0d83bf7df21ce6f834db8228a.jpg">
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

Я имею в виду, что было 5 изображений стот же css, кто-нибудь может мне помочь?

Ответы [ 4 ]

3 голосов
/ 08 августа 2011

Вы можете сделать это без зацикливания

// this contains an array of elements
var $csstring = $("div.article_column a img"); 

// this will wrap all objects with your html
$csstring.wrap("<div class='dropshadow'></div>"); 

Примечание: вам нужно заключить строку в $ (), чтобы использовать переменную в качестве объекта jquery.

Edit: Если вы хотите получить доступ к определенному узлу в массиве ...

var $firstElement = $($csstring[0]);
1 голос
/ 08 августа 2011

Измените $csstring на this в функции цикла:

var $csstring = "div.article_column a img";
$($csstring).each(
    function() {    
        $(this).parent().wrap("<div class='dropshadow'></div>");
    });
0 голосов
/ 08 августа 2011

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

$("div.article_column a img").parent().wrap("<div class='dropshadow'></div>");
0 голосов
/ 08 августа 2011

Сделайте это вместо:

$($csstring).each(function() {
    $(this).parent().wrap('<div class="dropshadow"></div>');
});
...