Javascript 更改数组项的子元素(语法)
我有几个div使用同一个类。 在div中还有三个具有相同类的divJavascript 更改数组项的子元素(语法),javascript,jquery,html,arrays,Javascript,Jquery,Html,Arrays,我有几个div使用同一个类。 在div中还有三个具有相同类的div <div class="plane"> <div class="win1">Lorem ipsum</div> <div class="win2">Dolor sit</div> <div class="win3">amet.</div> </div> <div class="plane">
<div class="plane">
<div class="win1">Lorem ipsum</div>
<div class="win2">Dolor sit</div>
<div class="win3">amet.</div>
</div>
<div class="plane">
<div class="win1">Lorem ipsum</div>
<div class="win2">Dolor sit</div>
<div class="win3">amet.</div>
</div>
var allPlanes = $('.plane');
for (var i = 0; i < allPlanes.length; i++) {
var onePlane = allPlanes[i];
var baseHeight = 10;
$(onePlane + " .win1").css("height", parseInt(baseHeight*1));
$(onePlane + " .win2").css("height", parseInt(baseHeight*2));
$(onePlane + " .win3").css("height", parseInt(baseHeight*3));
}
乱数假文
多洛坐
艾米特。
乱数假文
多洛坐
艾米特。
var allPlanes=$('.plane');
对于(变量i=0;i
(不要介意名字。这只是一个例子…)
现在我用外部div创建了一个数组,我可以选择内部的单个div。但是我没有为里面的子div获得正确的语法。
有人能帮忙吗
我的小提琴:您不能在
jQuery
对象和字符串之间使用+
运算符
正确的方法是:
$(".win1", onePlane).css("height", parseInt(baseHeight*1));
$(".win2", onePlane).css("height", parseInt(baseHeight*2));
$(".win3", onePlane).css("height", parseInt(baseHeight*3));
每个查询都转换为:选择
jQuery
对象onePlane
内的.winX
所有元素,您不能在jQuery
对象和字符串之间使用+
运算符
正确的方法是:
$(".win1", onePlane).css("height", parseInt(baseHeight*1));
$(".win2", onePlane).css("height", parseInt(baseHeight*2));
$(".win3", onePlane).css("height", parseInt(baseHeight*3));
每个查询都转换为:使用
.winX
选择jQuery
对象onePlane
中的所有元素,我将在嵌套中使用所有相同的类名,然后只需执行$('.plane:eq(0).win:eq(2).html()
alert($('.plane:eq(0).win:eq(2)'.html())代码>
乱数假文
多洛坐
艾米特。
乱数假文
多洛坐
艾米特。
我会在嵌套中使用所有相同的类名,然后只需执行$('.plane:eq(0).win:eq(2)').html()
alert($('.plane:eq(0).win:eq(2)'.html())代码>
乱数假文
多洛坐
艾米特。
乱数假文
多洛坐
艾米特。
如果您的类是固定的,那么您可以使用此代码
$(".win1", $(".plane")).css("height", parseInt(baseHeight*1));
$(" .win2", $(".plane")).css("height", parseInt(baseHeight*2));
$(" .win3", $(".plane")).css("height", parseInt(baseHeight*3));
如果您的类是固定的,那么您可以使用此代码
$(".win1", $(".plane")).css("height", parseInt(baseHeight*1));
$(" .win2", $(".plane")).css("height", parseInt(baseHeight*2));
$(" .win3", $(".plane")).css("height", parseInt(baseHeight*3));
您可以使用平面
类的每个
循环
$('.plane').each(function(){
baseHeight = 10;
$(this).find(".win1").css("height", parseInt(baseHeight*1));
$(this).find(".win2").css("height", parseInt(baseHeight*2));
$(this).find(".win3").css("height", parseInt(baseHeight*3));
});
您可以使用平面
类的每个
循环
$('.plane').each(function(){
baseHeight = 10;
$(this).find(".win1").css("height", parseInt(baseHeight*1));
$(this).find(".win2").css("height", parseInt(baseHeight*2));
$(this).find(".win3").css("height", parseInt(baseHeight*3));
});
将脚本更改为:
var allPlanes = $('.plane');
var baseHeight = 10;
$(".plane > .win1").css("height", parseInt(baseHeight*1)+"px");
$(".plane > .win2").css("height", parseInt(baseHeight*2)+"px");
$(".plane > .win3").css("height", parseInt(baseHeight*3)+"px");
在这种情况下,不需要for循环
更漂亮的方式:
var baseHeight = 10;
for (var i = 1; i <= 3; i++) {
$(".plane > .win"+i).css("height", parseInt(baseHeight*i)+"px");
}
编辑::只是一个旁注:所有这些方法都是有效的,但这并不意味着它们是最好/最有效的方法。自由地使用你最喜欢的,理解它并尝试使用它或使它适应你的个人情况。“最简单”的方法当然是第一种,但也是最长的方法。将脚本更改为:
var allPlanes = $('.plane');
var baseHeight = 10;
$(".plane > .win1").css("height", parseInt(baseHeight*1)+"px");
$(".plane > .win2").css("height", parseInt(baseHeight*2)+"px");
$(".plane > .win3").css("height", parseInt(baseHeight*3)+"px");
在这种情况下,不需要for循环
更漂亮的方式:
var baseHeight = 10;
for (var i = 1; i <= 3; i++) {
$(".plane > .win"+i).css("height", parseInt(baseHeight*i)+"px");
}
编辑::只是一个旁注:所有这些方法都是有效的,但这并不意味着它们是最好/最有效的方法。自由地使用你最喜欢的,理解它并尝试使用它或使它适应你的个人情况。“最简单”的方法当然是第一种,但也是最长的方法。这不是更好的方法吗:
var基数=10;
$('.plane>div').css('height',function(){
返回基数*($(this).index()+1)
});代码>
.plane{
背景色:#ccc;
边框:实心1px#cdcdcd;
边缘底部:15px;
}
.plane>.win1{背景色:#ddd;}
.plane>.win2{背景色:#eee;}
.plane>.win3{背景色:#fff;}
乱数假文
多洛坐
艾米特。
乱数假文
多洛坐
艾米特。
这个不是更好吗:
var基数=10;
$('.plane>div').css('height',function(){
返回基数*($(this).index()+1)
});代码>
.plane{
背景色:#ccc;
边框:实心1px#cdcdcd;
边缘底部:15px;
}
.plane>.win1{背景色:#ddd;}
.plane>.win2{背景色:#eee;}
.plane>.win3{背景色:#fff;}
乱数假文
多洛坐
艾米特。
乱数假文
多洛坐
艾米特。
请共享js代码。如果您使用jQuery,则不需要for循环:@briosheje,您的代码不适合我,因为我需要记住更多参数。e、 g.内部div有不同的高度,这取决于父元素的高度。我不明白为什么它不工作,但它很好;)不管你说“我有更多的括号要记住”是什么意思,上面的提琴正在工作,我把你自己的html作为源代码!请共享js代码。如果您使用jQuery,则不需要for循环:@briosheje,您的代码不适合我,因为我需要记住更多参数。e、 g.内部div有不同的高度,这取决于父元素的高度。我不明白为什么它不工作,但它很好;)不管你说“我有更多的括号要记住”是什么意思,上面的提琴正在工作,我把你自己的html作为源代码!我在这里得到了很多正确和有用的答案,但我不得不接受其中一个。所以我选择了你的作为第一个给定的,这对给定的代码也没有太大的改变。。谢谢!我也选择这一个作为最佳答案,因为我只是要求对给定代码使用正确的语法,而不是完全重新构建;-))我在这里得到了很多正确和有用的答案,但我不得不接受其中一个。所以我选择了你的作为第一个给定的,这对给定的代码也没有太大的改变。。谢谢!我也选择这一个作为最佳答案,因为我只是要求对给定代码使用正确的语法,而不是完全重新构建;-))很高兴能展示不止一种方法来解决这个问题,谢谢!但是:您的代码不适合我,因为我有更多的参数用于计算。例如,内部div具有不同的高度,具体取决于父元素的高度。所以我不能给所有内部元素相同的高度,那么你可以