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

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

问题描述:

我有这个jQuery代码:

I have this jQuery code:

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

但我有几个id为id的div:editDialog-0,editDialog-1,... 。,editDialog-n。

But I have several divs with id's like this: editDialog-0, editDialog-1, ...., editDialog-n.

如何为所有这些div创建一个jQuery代码,如上面那个?

How can I make a jQuery code for all of these divs, like the one above?

使用jquery 属性选择器

Use jquery starts with attribute selector

$('[id^=editDialog]')

替代解决方案 - 1(强烈推荐)

更清洁的解决方案是为每个div添加一个公共类&使用

A cleaner solution is to add a common class to each of the divs & use

$('。commonClass')

但如果html标记不在您的手中,您可以使用第一个由于某些原因无法改变它。

But you can use the first one if html markup is not in your hands & cannot change it for some reason.

替代解决方案 - 2 (如果 n是一个大数字,则不推荐

Alternative solution - 2 (not recommended if n is a large number) (as per @Mihai Stancu's suggestion)

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

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

Note: If there are 2 or 3 selectors and if the list doesn't change, this is probably a viable solution but it is not extensible because we have to update the selectors when there is a new ID in town.