Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   какое отличие между filter и is (https://javascript.ru/forum/jquery/24944-kakoe-otlichie-mezhdu-filter-i.html)

Arkinsstoun 19.01.2012 21:46

какое отличие между filter и is
 
есть скрипт там есть вот такое
main_cont.is(':visible'))

я is заменяю на filter а неработает! почему? в чём отличие?

Amphiluke 19.01.2012 21:50

Цитата:

Сообщение от Arkinsstoun
какое отличие между filter и is

Как минимум, тип возвращаемого значения. В случае .is() это Boolean, в случае .filter() — Object (более того — всегда не null).

Arkinsstoun 19.01.2012 21:54

Цитата:

Сообщение от Amphiluke (Сообщение 151519)
Как минимум, тип возвращаемого значения. В случае .is() это Boolean, в случае .filter() — Object (более того — всегда не null).

А немного разшифрованей можно?

Amphiluke 19.01.2012 22:07

Можно, наверное :agree: . Если сравнивать методы .is() и .filter(), то они соотносятся в целом так:
Код:

x.is(y) === (x.filter(y).length != 0)
То есть .is() — это проверка того, содержится ли в результате применения метода .filter() хотя бы один элемент из выборки.

Это, конечно, не означает, что метод .is() реализован именно так. :no:

Amphiluke 19.01.2012 22:13

Цитата:

Сообщение от Amphiluke
Это, конечно, не означает, что метод .is() реализован именно так.

Хотя, оказывается, довольно похоже… O_o
Цитата:

is: function( selector ) {
		return !!selector && jQuery.filter( selector, this ).length > 0;
	},


Arkinsstoun 19.01.2012 22:18

Ну уже больше понял)


Часовой пояс GMT +3, время: 07:14.