如何仅在一个现有的li中添加链接

时间:2013-08-13 12:55:05

标签: javascript jquery html razor

这是我的问题:我有一个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直到获取链接,然后当它失去焦点时链接消失。< / p>

编辑:

我已经使用$(this).append($(“。description”)。append(“&lt; div class ='visualize'&gt;”+ link +“&lt; / div&gt;”));

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

尝试(当前元素)

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

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

  

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