猿问

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

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

我有这个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代码,如上所述?


三国纷争
浏览 1121回答 3
3回答

有只小跳蛙

使用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时更新选择器。

噜噜哒

为所有div添加一个公共类。例如,将foo添加到所有div。$('.foo').each(function () {    $(this).dialog({     autoOpen: false,     show: {       effect: "blind",       duration: 1000     },     hide: {       effect: "explode",       duration: 1000     }   });});
随时随地看视频慕课网APP
我要回答