如何获取span的id并使其显示为动态生成的?

时间:2015-11-01 13:49:46

标签: javascript jquery css asp.net tags

我已动态创建span标签并附加到div。现在我想得到它的id,我选择并删除它。它类似于jquery tagit。下面我正在使用它,但它无法正常工作。当我点击特定范围时,查看id可以得到。

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

1 个答案:

答案 0 :(得分:3)

您不需要[TestMethod] public async Task ExceuteMultipleRequestsInParallel() { Stopwatch sw = new Stopwatch(); sw.Start(); HttpClient client = new HttpClient(); HttpClient client2 = new HttpClient(); HttpClient client3 = new HttpClient(); Task<string> ms = client.GetStringAsync("http://www.microsoft.com"); Task<string> msdn = client2.GetStringAsync("http://msdn.microsoft.com"); Task<string> blogs = client3.GetStringAsync("http://blogs.msdn.com"); await Task.WhenAll(ms, msdn, blogs); sw.Stop(); var result = sw.Elapsed.ToString(); } [TestMethod] public async Task ExcecuteMultipleRequests() { Stopwatch sw = new Stopwatch(); sw.Start(); HttpClient client = new HttpClient(); HttpClient client2 = new HttpClient(); HttpClient client3 = new HttpClient(); string ms = await client.GetStringAsync("http://www.microsoft.com"); string msdn = await client2.GetStringAsync("http://msdn.microsoft.com"); string blogs = await client3.GetStringAsync("http://blogs.msdn.com"); sw.Stop(); var result = sw.Elapsed.ToString(); } (并且id可能没有{}},您已经拥有对该元素的引用:span。这是标准的jQuery行为。 (事实上​​,它是你可以在不使用jQuery的情况下连接事件的各种方式的标准。)

所以

this

(或者,是的,添加$('span').on('click', function() { $(this).remove(); // Removes the one that was clicked }); 并使用ee.target

重新评论:

  

我尝试使用该代码,但也没有触发click事件。

这表明问题$(e.target).remove();在您的代码运行时不存在,因此您最终不会挂钩span事件。

为了解决这个问题,你可能想要一个委托处理程序:在开发工具中,右键单击其中一个跨度,找到一个共同的祖先,他们拥有确实,当你的代码运行。 (在最坏的情况下,可能是click,但通常情况下更好地确定范围。)然后:

document

有关详细信息,请参阅on。此外,如果$('selector-for-that-ancestor-element').on('click', 'span', function() { $(this).remove(); // Removes the one that was clicked }); 具有任何标识特征(如span或某个属性),您可能希望在上面的委托选择器中包含该特征更具体。