JQuery проблема в процедуре обернуть / развернуть - PullRequest
0 голосов
/ 31 июля 2011

Рассмотрим следующий код:

$(".lcontainer a").click(function () {
    var current = $(this);
    var name = current.attr('href');
    document.getElementsByName('source')[0].value = name;
    var fPicture = "css/imgs/Flash.png";
    //If image is wrapped in link unwrap it
    var newLink = $('<a/>').attr('href', name);
    newLink.find('#prev').unwrap();
    if (extension == "jpg" || extension == "png" || extension == "gif" || extension == "bmp") {
        $(".mainCategory").html("Picture");
        document.getElementById('prev').src = name;
    }
    else if (extension == "swf") {
        $(".mainCategory").html("Game");
        document.getElementById('prev').src = fPicture;
        previewImage.wrap(newLink);
    }
    return false;
});
});

Логика проста: если у нас есть SWF-файл, поместите флэш-символ и оберните символ ссылкой, указывающей на этот файл.Проблема: нажмите на другую ссылку, и символ не будет развернут.

1 Ответ

1 голос
/ 31 июля 2011

Вы создаете новый элемент ссылки с:

var newLink = $('<a/>').attr('href', name);

... так что:

newLink.find('#prev').unwrap();

... не найдет ничего, потому что newLink не делаетУ вас еще ничего нет.

Вы уверены, что не хотите делать что-то подобное?

$('#prev').unwrap();
var newLink = $('<a/>').attr('href', name);
...