Javascript 你能给JS添加第n个子元素吗?
我想知道是否有可能在这段代码中添加第n个子元素Javascript 你能给JS添加第n个子元素吗?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我想知道是否有可能在这段代码中添加第n个子元素 $(function() { var count = $(".parent a").length; $(".parent div").width(function(){ return ($(".parent").width()/count)-5; }).css("margin-right","5px"); }); 我希望最后一个div忽略右边的边距 这可能吗?您可以将其添加到奇数/偶数:计数%2通常
$(function() {
var count = $(".parent a").length;
$(".parent div").width(function(){
return ($(".parent").width()/count)-5;
}).css("margin-right","5px");
});
我希望最后一个div忽略右边的边距
这可能吗?您可以将其添加到奇数/偶数:计数%2通常您可以使用jQuery选择器,如
:last
,:last child
,:last of type
,并且考虑到您不需要元素:not
然而,这里的问题更多地与何时以及如何进行宽度计算和应用CSS有关
我会将其分解为两个步骤,首先进行宽度计算:
var count = $(".parent a").length;
$(".parent div").width(function(){
return ($(".parent").width()/count)-5;
});
接下来,对除最后一个div以外的所有div应用右边距:
这几乎让我们达到了目的,最后一点只是为了填补剩下的小缺口:
$(".parent div:last").width(function() {
return $(".parent div:last").width() + 5;
});
这应该是你想要的。您可以在这里看到一个工作示例-。我可能也会用一个变量替换边距大小,这样你就不必在更改它时替换多个位置
您可以阅读有关此处使用的选择器的更多信息:
- 似乎正是你所需要的。我更喜欢这个,而不是
:last
和:last child
,因为它更可能是您想要类型的最后一个(div),而不是最后一个孩子
$(function () {
var count = $(".parent a").length;
$(".parent div").width(function () {
return ($(".parent").width() / count) - 5;
});
$(".parent div:not(:last-of-type)").css("margin-right", "5px");
});
很高兴有办法,但这对我来说毫无意义哈哈,我只在中间阶段做HTML和CSSlevel@Adsy请参阅我的编辑。这样行吗?另外,尽量说得更具体一些。什么不起作用?脚本仍然起作用,但边距只是从我的所有div中删除,而不仅仅是最后一个div define
停止了它的工作
,这个slighlty-modified示例正如我所期望的那样起作用-,告诉我们您的HTML可能会使事情变得更简单。很难解释。这是我和你的JS的代码,这是JS工作时的样子,当你应用CSS时,有点不对劲,宽度计算的方式,这似乎工作-太棒了!这很好用。我真的很感谢@LloydYou可能想要更新您原来的post Lloyd,以同意您最新的小提琴。
$(function () {
var count = $(".parent a").length;
$(".parent div").width(function () {
return ($(".parent").width() / count) - 5;
});
$(".parent div:not(:last-of-type)").css("margin-right", "5px");
});