Javascript 如何将类分别附加到每个元素?
我有一个由4个框组成的列表,每个框都有两个部分Javascript 如何将类分别附加到每个元素?,javascript,jquery,css,Javascript,Jquery,Css,我有一个由4个框组成的列表,每个框都有两个部分。内容主包装器和。内容次包装器,在这两个部分中都有一个名为。内容内部的div。我正在运行一个基于内容内部类高度的条件,以决定哪个get是添加到它的border类 正如我现在看到的,函数运行,然后将结果应用于所有类,我如何让它在元素的基础上应用它?我正试图得到它,所以它是这样工作的: 运行函数,确定第一个元素的高度 确定第一个元素的高度 仅将边框类应用于此元素 冲洗并重复其他3个物体 这是我正在使用的脚本,有什么想法可以循环使用这些脚本吗 var pr
。内容主包装器
和。内容次包装器
,在这两个部分中都有一个名为。内容内部
的div。我正在运行一个基于内容内部
类高度的条件,以决定哪个get是添加到它的border类
正如我现在看到的,函数运行,然后将结果应用于所有类,我如何让它在元素的基础上应用它?我正试图得到它,所以它是这样工作的:
var primary_height = $('.content-primary-wrapper .content-inner').height();
var secondary_height = $('.content-secondary-wrapper .content-inner').height();
if ( primary_height >= secondary_height ){
$(this).find('.content-primary-wrapper .content-inner').addClass('add-border-right');
} else {
$(this).find('.content-secondary-wrapper .content-inner').addClass('add-border-left');
}
有多种方法可以做到这一点。我可能会运行一个选择器来获取包含四个框的元素,然后对它们上的主包装器和辅助包装器运行本地化查询,如下所示:
$('.box-container').each(function(index, container) {
var primary_height = $('.content-primary-wrapper .content-inner', container).height();
var secondary_height = $('.content-secondary-wrapper .content-inner', container).height();
// ...
}
或者,如果您确定它们总是这样配对,您可以简单地执行以下操作:
var primary_elements = $('.content-primary-wrapper .content-inner');
var secondary_elements = $('.content-secondary-wrapper .content-inner');
var i;
for (i = 0; i < primary_elements.length; ++i) {
var primary_height = $(primary_elements[i]).height();
var secondary_height = $(secondary_elements[i]).height();
// ...
}
var primary_elements=$('.content-primary-wrapper.content-inner');
var secondary_elements=$('.content secondary wrapper.content inner');
var i;
对于(i=0;i
对我来说,这个版本似乎不太稳定,只是为了防止在某个时候开始删除一个或另一个元素,并且它们不再总是以这种假设的方式配对。这就是你要做的吗?在所有框中循环,找到每个框中的
.content内部
s,然后应用您的类
$(“.box”)。每个(函数(){
var$pri=$(this.find(“.content-primary-wrapper.content-inner”),
$sec=$(this.find(“.content secondary wrapper.content internal”);
如果($pri.height()>=$sec.height()){
$pri.addClass(“添加边界权限”);
}否则{
$sec.addClass(“添加左边框”);
}
});代码>
.box{
浮动:左;
明确:两者皆有;
}
.向左添加边框{
左边框:1px纯红;
}
.添加右边框{
右边框:1px纯红;
}
两条
线
一
一
两条
线
在我使用for-loop解决方案的每个元素上循环,但是不断遇到未捕获类型错误:primary_elements[I]。高度不是一个函数
,有什么想法吗?我相信我刚才用$()围绕元素所做的更改应该可以涵盖这一点。如果没有,请告诉我。现在它启动并创建边框,但它将边框添加到两个元素中,就像它开始添加它们一样,然后当它迭代并找到一个相反的元素时,所有这些类都会接收边框。这主要是因为,它必须将边框设置到内容主/次包装器
元素上,除此之外,这还创造了奇迹!非常感谢!