javascript - 当单击另一个 anchor 标记时,从 anchor 标记获取字符串值

标签 javascript jquery

我有一个<ul>这就是 <li>动态添加到其中,同时还将字符串存储在数组中。当我单击“删除”图像时,我需要删除 <li>以及数组中的字符串。

这就是我向 <ul> 添加字符串的方式和我的数组:

function addTab() {
        tabs.append('<li class="navHighlight">' + '<a href="#">' + title + '</a>' + '<a href="#">' + '<img src="images/delete.png" class="deleteImage"/>' + '</a>' + '</li>');
    };

var found = jQuery.inArray(title, titles);
    if (found >= 0) {       

    } else {        
        titles.push(title);
        addTab();
    }   

这就是我尝试删除它们的方法:

$("body").on("click", ".deleteImage", function(e) {
    removeItem = $(this).closest('li a').text();
    console.log(removeItem);
    titles = jQuery.grep(titles, function(value) {
      return value != removeItem;
    });
    removeTab();
});    

function removeTab() {
    $(this).closest('.macTypeNav li').remove();
} 

我可以添加 <li>和字符串值都很好,但是当我尝试删除它们时,什么也没有发生。该事件由点击监听器触发;然而,removeItem变量未设置且 <li>没有被删除。

我想避免给每个 <a>添加它们时会添加一个 id,但我不反对以某种方式添加一个允许我引用它们的类。

任何想法都是受欢迎的,我相信这可能相当简单,但我今天就要结束了,我现在不能把我的注意力集中在这个问题上。

最佳答案

使用 DOM;这很神奇。也是实参,因为全局变量不是传递参数的适当方式。

var titles = [];

function addTab(title) {
    var newTab = $("<li>", { "class": "navHighlight" });

    newTab.append($("<a>", { href: "#", text: title }));
    newTab.append($("<img>", { src: "images/delete.png", "class": "deleteImage" }));
    newTab.data("title", title);

    newTab.appendTo(tabs);
    titles.push(newTab[0]);
}

$("body").on("click", ".deleteImage", function(e) {
    var remove = $(this).closest("li");

    titles.splice(titles.indexOf(remove[0]), 1);
    remove.remove();
});

关于javascript - 当单击另一个 anchor 标记时,从 anchor 标记获取字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20415585/

相关文章:

javascript - 如何在不使用 JSON 对象中的 "label"和 "value"的情况下制作 NVD3 饼图?

javascript - JS点击事件表示法

javascript - 在 iframe 的文档和/或 shadow-root 中注入(inject) html dom

javascript - 当用户点击播放不同的音频时停止第一个音频

javascript - jQuery 验证在更改特定设置值时失败

javascript - HTML 字段一旦无效就不会再次验证

javascript - javascript 正则表达式出现问题并替换

javascript - 使用谷歌验证登录的时间

javascript - 在javascript中验证英国驾驶执照正则表达式

javascript - 使用 javascript 将超链接添加到表中的 <td>