Javascript 使用JQuery创建唯一ID

Javascript 使用JQuery创建唯一ID,javascript,jquery,Javascript,Jquery,这个问题可能是重复的(但我找不到),所以如果是多余的,我道歉。我试图使用JQuery的.remove函数来删除(显然)静态HTML原型中的li元素。我想删除的不是为每个li写一个javascript块,而是想知道是否可以单独用JS创建递增ID。(我正在使用HAML和SASS供参考)。这是我的 /view-file.html.haml %ul %li#removeThis1 %a.remover1{:src => "#"} Remove /application.js ...

这个问题可能是重复的(但我找不到),所以如果是多余的,我道歉。我试图使用JQuery的.remove函数来删除(显然)静态HTML原型中的
li
元素。我想删除的不是为每个
li
写一个javascript块,而是想知道是否可以单独用JS创建递增ID。(我正在使用HAML和SASS供参考)。这是我的

/view-file.html.haml

%ul
  %li#removeThis1
    %a.remover1{:src => "#"} Remove
/application.js

...
$(".remover1").click(function () {
  $("li#removeThis1").fadeOut( function() { $(this).remove(); });
});
关于如何将
.remover1
增加到
.remover2
等,您有什么想法吗?同样地,
li##removeThis1
#removeThis2
,等等


我需要所有这些都发生在页面加载

元素之间有一种祖先关系,因此只要利用这种关系就可以了

  // don't bother numbering the class. Use a common class
$(".remover").click(function () {

       // find the closest ancestor with an ID that start with "removeThis"
    $(this).closest("li[id^=removeThis]")
           .fadeOut( function() { $(this).remove(); });
});

或者如果你不需要祖先的ID,也可以在那里使用一个类

  // don't bother numbering the class. Use a common class
$(".remover").click(function () {

       // find the closest ancestor with the class "removeThis"
    $(this).closest(".removeThis")
           .fadeOut( function() { $(this).remove(); });
});


最后,如果您要使用ID,您希望在服务器端生成ID,然后使用处理程序从元素中提取ID的数字部分,并将其连接到祖先的选择器中。

是否可能重复显示生成的HTML,以便不了解haml的人可以提供一些帮助?只是好奇,为什么您将大多数答案标记为“社区维基”?:o@NiftyDude:主要是因为我不喜欢/不想要积分。但也让其他人觉得更自在地增加价值/如果他们愿意的话进行更正。太棒了。工作得很有魅力。