Удобнее всего работать с ними через jquery data - это решит проблему совместимости со всеми браузерами.
https://api.jquery.com/data/
Например у нас есть кнопки по клику на которые у нас должны открываться попапы:
<button type="button" data-open-dialog="#bs-example-1-dialog">Окно 1</button>
<button type="button" data-open-dialog="#bs-example-1-dialog">Окно 1</button>
<button type="button" data-open-dialog="#bs-example-1-dialog">Окно 1</button>
Далее, мы можем в js описать только один обработчик:
$(document).on('click', '[data-open-dialog]', function(){
showPopupById($(this).data('openDialog'));
});
Кроме того, ты можешь хранить в data любой json, приводя пример с тем же попапом, можно хранить данные об объекте и строить из них попап после клика на кнопку.
Еще пример jquery плагины часто ставят флаг о том, что они уже установлены на элементе, чтобы избежать повторной инициализации. Скажем $('#search-input').autocomplete() при первой инициализации запишет элементу $('#search-input').data('isAutocompleteInstall', true) и инициализирует элемент, а при втором вызове уже не будет инициализироваться по новой. Как-то так, если я верно понял твой вопрос.