Как найти div имеет виджет в Jquery? - PullRequest
2 голосов
/ 27 января 2012

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

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

Ответы [ 3 ]

3 голосов
/ 27 января 2012

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

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

if($("[DivThatMightContainWidgetSelector]").find(".clsWidget").length > 0) {
    //Div contains widget
}
else {
    //Div does not contain widget
}
2 голосов
/ 28 января 2012

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

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

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

0 голосов
/ 04 апреля 2013

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

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

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

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

...