Как найти div имеет виджет в Jquery?

Как проверить, есть ли у div виджет или нет? например,

если мы добавим класс в div, мы сможем проверить, используя .hasClass, как это, есть ли способ найти виджет, существует или нет?

3 ответа

Решение

Если вы хотите узнать, используется ли в настоящее время div в качестве виджета пользовательского интерфейса jQuery (что может быть тем, о чем вы спрашиваете, хотя я не совсем уверен), вы можете проверить, имеет ли div класс "ui-widget".

$("yourDivSelector").hasClass("ui-widget")

Каждый виджет jQuery UI имеет этот класс, и я считаю, что большинство хорошо реализованных сторонних виджетов тоже используют этот класс (часть CSS-фреймворка jQuery UI).

Твой вопрос очень сложно понять. Поскольку вы не указали код или пояснение о своем пользовательском виджете, ответить на него также очень сложно. Исходя из вашей ограниченной информации, это лучшее, что я могу сделать...

Назначьте класс CSS для вашего виджета (например, clsWidget). Если виджет всегда имеет clsWidget класс, вы можете проверить его существование следующим образом:

if($("[DivThatMightContainWidgetSelector]").find(".clsWidget").length > 0) {
    //Div contains widget
}
else {
    //Div does not contain widget
}

Стандартный метод проверки, был ли виджет назначен тегу, без проверки, есть ли у тега класс виджета, это...

if ( !($("#myInput").data( "ui-fooWidget" ) )
   < widgetNotFound >
else
   < widgetFound >

Это полезная процедура, если вы хотите назначить другой виджет на определенных устройствах или проверить, был ли виджет инициализирован перед вызовом метода виджета и т. Д.

Все пользовательские интерфейсы будут хранить корневой объект виджета в объекте данных, назначенном тегу. Это также используется для доступа к частным методам виджетов.

Другие вопросы по тегам