我想知道是否可以使用@3x
的通用选择器。
例如,当我想从元素及其子元素中删除所有内联CSS时,我使用以下代码:
$(this)
但如果我有$('#element, #element *').attr('style','');
代码是什么?
也许我必须尝试:
$(this)
答案 0 :(得分:12)
您可以使用find()
$(this).find('*').attr('style','');
或上下文选择器
$('*', this).attr('style','');
使用$('#element *')
this
做同样的事情
如果this
表示的元素应该是集合的一部分,则可以将其添加回来
$(this).find('*').addBack().attr('style','');
我倾向于在评论中同意Rory McCrossan,使用父元素和外部样式比改变多个元素的样式属性更可取
.element.styled * { /* styles for all children */ }
然后只是
$('.element').removeClass('styled')
删除子项上的样式
答案 1 :(得分:2)
您可以使用jQuery' .children()
:
$(this).children().attr('style','');
但是,这只会降低一个级别,因此您也可以使用.find()
:
$(this).find('*').attr('style','');
答案 2 :(得分:2)
您可以找到孩子,然后使用removeAttr
$(this).children().removeAttr('style');
OR
$(this).find('*').removeAttr('style');
答案 3 :(得分:2)
jQuery find methode将起作用:
$(this).find(selector);
答案 4 :(得分:1)
您可以使用:
$(this).find('*').removeAttr('style');
甚至是上下文:
$('*', this).removeAttr('style');
答案 5 :(得分:0)
$(this).children()
可用于选择孩子
此外,您可以像$(this).children('.classname')
Simillarly $(this).parent()
可用于选择它的父级