Я использовал функцию в фильтре, чтобы проверить, является ли режим отображения блочным, но он не работает.
Вот мой код:
$("#wrap_element").find("*").filter(function(){
return this.css("display")==="block";
}).css("background-color","red");
Спасибо.
1
user12026752
30 Окт 2019 в 21:22
Пожалуйста, пройдите экскурсию, чтобы вы знали, как работает этот сайт.
– isherwood
31 Окт 2019 в 16:15
1 ответ
У вас есть консольная ошибка, которая намекает на проблему:
Uncaught TypeError: this.css не является функцией
Вам нужно использовать объект jQuery, так как вы вызываете для него метод jQuery:
return $(this).css("display")==="block";
// ----^^----^
4
isherwood
30 Окт 2019 в 22:15
Это правильно. Чтобы использовать функцию jQuery, такую как
– css()
, вам сначала нужен объект jQuery. this
сам по себе не является объектом jQuery. Если вы вызываете $(this)
, вы возвращаете объект jQuery, который имеет такие функции, как css()
в своем прототипе.
Spencer Stewart
30 Окт 2019 в 21:32
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.