包装/展开过程中的 jQuery 问题

发布于 11-27 07:52 字数 848 浏览 0 评论 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 符号,并用指向该文件的链接包装该符号。问题:单击另一个链接,符号未解开。

Consider the following code:

$(".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;
});
});

The logic is simple: if we have swf file put flash symbol and wrap the symbol with link pointing to this file. The problem: click another link and the symbol is not unwrapped.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无远思近则忧2024-12-04 07:52:21

您正在使用以下命令创建一个新的链接元素:

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

...因此:

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

...将找不到任何内容,因为 newLink 内部还没有任何内容。

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

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

You're creating a new link element with:

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

...so this:

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

... won't find anything because newLink doesn't have anything inside it yet.

Are you certain you didn't want to do something like this?

$('#prev').unwrap();
var newLink = $('<a/>').attr('href', name);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文