一尘不染

ID的jquery选择器以特定文本开头

javascript

我有这个jQuery代码:

$( "#editDialog" ).dialog({
  autoOpen: false,
  show: {
    effect: "blind",
    duration: 1000
  },
  hide: {
    effect: "explode",
    duration: 1000
  }
});

但是我有几个像这样的id的div:editDialog-0,editDialog-1,....,editDialog-n。

我如何为所有这些div制作jQuery代码,就像上面的代码一样?


阅读 428

收藏
2020-05-01

共1个答案

一尘不染

使用jQuery 从属性选择器

$('[id^=editDialog]')

替代解决方案-1(强烈建议)

较干净的解决方案是为每个div和用途添加一个通用类

$('.commonClass')

但是如果html标记不在您的手中并且由于某种原因无法更改它,则可以使用第一个标记。

替代解决方案-2 (如果不推荐,则不推荐n is a large number)(根据@Mihai Stancu的建议)

$('#editDialog-0, #editDialog-1, #editDialog-2,...,#editDialog-n')

注意:如果有2个或3个选择器,并且列表没有更改,这可能是一个可行的解决方案,但它是不可扩展的,因为当城镇中有新的ID时,我们必须更新选择器。

2020-05-01