Мне было интересно, есть ли более чистый (более краткий) способ сделать то, что каждый () делает в следующем коде JavaScript.
$(".moreinfodialog")
.before('<a href="#">Click for more info.</a>')
.each(function() {
var temp = this;
$(this).prev("a").click(function() {
$(temp).dialog("open");
return false;
});
})
.dialog({ autoOpen: false, modal: true });
Обратите внимание, что последний вызов переупорядочивает элементы dom, поэтому классы ".moreinfodialog" больше не находятся рядом с hrefs.
Кстати: этот источник использует диалог jquery / jquery-ui, чтобы скрыть любой текст в div с классом ".moreinfodialog" и заменить его на "Click for more info". текст. При нажатии на этот текст отображается диалоговое окно с текстом внутри исходного элемента div.