可以使用$(this)和通用选择器(*)吗?

Bor*_*rja 6 html javascript jquery css3

我想知道是否可以使用通用选择器$(this).例如,当我想从元素及其子元素中删除所有内联CSS时,我使用以下代码:

$('#element, #element *').attr('style','');
Run Code Online (Sandbox Code Playgroud)

但如果我有$(this)什么代码?

也许我必须尝试:

 $(this, this+'*').attr('style','');
Run Code Online (Sandbox Code Playgroud)

ade*_*neo 12

你可以使用 find()

$(this).find('*').attr('style','');
Run Code Online (Sandbox Code Playgroud)

或上下文选择器

$('*', this).attr('style','');
Run Code Online (Sandbox Code Playgroud)

我们该做的是同样的$('#element *')this

如果表示的元素this应该是集合的一部分,则可以将其添加回来

$(this).find('*').addBack().attr('style','');
Run Code Online (Sandbox Code Playgroud)

我倾向于在评论中同意Rory McCrossan,使用父元素和外部样式比在多个元素上更改样式属性更可取

.element.styled * { /* styles for all children */ }
Run Code Online (Sandbox Code Playgroud)

然后就是

$('.element').removeClass('styled')
Run Code Online (Sandbox Code Playgroud)

删除子项上的样式

  • 哇...`addBack()`这对我来说是新的. (2认同)