Три вещи, на которые стоит посмотреть:
0,1. Объединение библиотек (YUI и Jquery) возможно, но сильно сбивает с толку. Хотя можно предположить, что это необходимо, и катиться с этим.
0,2. "getByNode" ожидает узел YUI или строку селектора. Так что строка должна выглядеть так:
console.log (Y.Widget.getByNode('#' + id));
0,3. Строка YUI().use (...
объявляет новую песочницу YUI, которая не содержит никаких виджетов. Ваш список узлов зацикливается на всех соответствующих элементах ".yui3-widget" на странице , но ни один из этих виджетов не зарегистрирован в вашей новой песочнице, поэтому Y.Widget.getByNode('#' + id)
вернет ноль. Чтобы исправить это, вам нужно поместить свой код в песочницу, в которой были созданы виджеты, или получить указатель на эту песочницу для вызова функции «use». Что-то вроде:
var sandbox = YUI().use('*', function (Y){
// widgets defined here
});
sandbox.use ('*', function (Y){
$('.yui3-widget').each (function (idx, elem) {
var id = elem.getAttribute('id');
console.log (Y.Widget.getByNode('#' + id));
console.log ('#'+id);
})
});