【发布时间】:2014-05-26 02:57:08
【问题描述】:
我有一个已知的容器 div,我将动态填充子元素。我想在子元素上指定一些 .css 属性来定位它们,但我想避免在我创建的每个子元素上手动设置 .css 样式。我将能够为每组元素动态生成一个唯一的类,所以如果有一种方法可以应用影响匹配某个选择器的元素的所有子元素的 css,我愿意这样做。
我的应用程序执行类似this fiddle.
var numChildren = 0;
$('.myButton').on('click', function(){
$('<div class=childDiv' + numChildren + '>Div!</div>')
.appendTo('.myDiv')
.css({
display: 'inline',
'padding-left': (10 + 10*numChildren) + 'px'
//I'd like to put something like this padding left class on the parent div.
//I know the class of all children that should have this style,
//but I don't know until I create the child.
});
$('<div class=childDiv' + numChildren + '>Div!</div>')
.appendTo('.secondDiv')
.css({
display: 'inline',
'padding-left': (10 + 10*numChildren) + 'px'
});
numChildren++;
});
在这个例子中,我动态地生成了几个具有类似childDiv0 的类的子级。我可以使用某个padding-left 手动设置它们的样式,但在我的实际应用程序中,我生成了大量元素,并且快速渲染它们所需的回流减慢了我的应用程序。有没有办法将css应用于父母而不是孩子?我可以做类似的事情吗:
$('.parentElement').css(
':childWithSelector(.childDiv'+ numChildren + ').width', //Not a real thing :(
10 + 10*numChildren + 'px'
);
jQuery 是可选的。
【问题讨论】:
-
另外:不确定这个问题有多清楚。让我知道是否有任何令人困惑的地方,我会尽力解决。
-
#knowndiv div { } 将已经选择所有子项。您是想只针对其中的一部分吗?
-
我正在尝试选择具有某个类的所有子级并将一些 .css 应用于他们,而不将 .css 内联应用于每个子元素。
标签: javascript html