Как найти 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 >
Это полезная процедура, если вы хотите назначить другой виджет на определенных устройствах или проверить, был ли виджет инициализирован перед вызовом метода виджета и т. Д.
Все пользовательские интерфейсы будут хранить корневой объект виджета в объекте данных, назначенном тегу. Это также используется для доступа к частным методам виджетов.