-1

这是我的问题:我有一个 ul 列表,它的 li 数量不足,因为它取决于文件夹中文件的数量。它在一个 div 中列出这些文件,当鼠标悬停其中一个时,我希望它只在其 div 中获得新链接。

我的代码是这样的:

function showImages(data) {
    var ul = "<ul id='productImages'>";

    for (i = 0; i < data.length; i++) {
        var tempButton = i;
        var link = '@Html.ActionLink("Pedir Detalhes","ContactUs", new { tempVerifyButton = 3}, new { @class = "visualize"})';

        var directories = data[i];
        ul += "<li id = 'element" + i.toString() + "'><img src='../Content/images/Products/" + directories.ImageName + "' /><div class = 'description'><div id = 'productsText'>" + directories.DescriptionName + "</div></div></li>";
    }

    ul += "</ul>";

    $("#directoryImages").append(ul);

    for (i = 0; i < data.length; i++) {
        var element = "ul#productImages li#element" + i.toString();
        $(element).hover(
        function () {
            var link = '@Html.ActionLink("Pedir Detalhes","ContactUs", new { tempVerifyButton = 3 }, new { @class = "visualize"})';
            $(".description").append("<div class = 'visualize'>" + link + "</div>");
        });
    }
}

这段代码的问题是,当鼠标悬停在其中一个 li 元素上时,所有 .description 都会获取链接,而我只想要当前悬停的 li 直到获取链接,然后当它失去焦点时,链接就会消失。

编辑:

我已经使用了 $(this).append($(".description").append("< div class = 'visualize'>" + link + "< /div>"));

有任何想法吗?

4

1 回答 1

2

试试这个(当前元素)

$(this).append("<div class = 'visualize'>" + link + "</div>");

http://learn.jquery.com/javascript-101/this-keyword/

this 是一个特殊的关键字,在方法中用于引用正在调用方法的对象。

于 2013-08-13T12:56:06.843 回答