0

考虑以下代码:

$(".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 文件,则放入 flash 符号并用指向该文件的链接包装符号。问题:单击另一个链接,符号未解包。

4

1 回答 1

1

您正在创建一个新的链接元素:

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

...所以这:

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

...不会找到任何东西,因为newLink里面还没有任何东西。

你确定你不想做这样的事情吗?

$('#prev').unwrap();
var newLink = $('<a/>').attr('href', name);
于 2011-07-31T13:29:57.483 回答