javascript - 如何获取 span 的 id 并使其不显示动态生成的内容?

标签 javascript jquery css asp.net tags

我已经动态创建了 span 标签并附加到 div。现在我想获取它的 id,我选择并删除它的那个。它类似于 jquery tagit。下面我正在使用它,但它不起作用。查看单击特定跨度时可以获得的 id。

$('span').on('click', function (e){
alert(e.target.Id);
});

最佳答案

你不需要 id(span 可能没有),你已经有了对元素的引用:this。这是标准的 jQuery 行为。 (事实上​​ ,它也是您可以在没有 jQuery 的情况下连接事件的各种方式的标准。)

所以

$('span').on('click', function() {
    $(this).remove(); // Removes the one that was clicked
});

(或者,是的,添加 e 并使用 e.target:$(e.target).remove(); )


回复你的评论:

I tried using that code by giving alert also but the click event is not firing.

这表明当您的代码运行时,所讨论的 span 并不存在,因此您最终不会 Hook 它们的 click 事件。

为了解决这个问题,您可能需要执行委托(delegate)处理程序:在开发工具中,右键单击其中一个跨度并找到它们具有的共同祖先,该祖先在您的时间确实存在代码运行。 (在最坏的情况下,这可能是 document,但通常情况下最好将事物的范围更紧密一些。)然后:

$('selector-for-that-ancestor-element').on('click', 'span', function() {
    $(this).remove(); // Removes the one that was clicked
});

参见 on了解详情。此外,如果 span 具有任何标识特征(如 class 或某些属性),您可能希望将其包含在上面的委托(delegate)选择器中以更加具体。

关于javascript - 如何获取 span 的 id 并使其不显示动态生成的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33462831/

相关文章:

html - 影响其他元素的类的 CSS 属性

html - 纯 Css 弹出窗口和容器边距

Javascript 将这个参数和其他参数传递给函数

svg - raphael js 中的内联文本编辑

jquery - 为什么背景图像没有改变?

javascript - 动态内容bxslider幻灯片刷新高度

javascript - 尝试将类添加到动态选择器

html - 显示 :table and display:table-cell in IE7 and IE9 的对齐问题

javascript - 检测 URL 中的后退按钮/哈希更改

当它是一个对象时,具有转义字符问题的 Javascript 会变成两次