我有一些问题与应用jQuery代码在多个类具有相同的类名在一个页面上.它看起来像代码将只适用于一个类,但不适用于多个类.
正如您所看到的,页面上有两个TwoColumnUnit
类,但只有第一个TwoColumnUnit
获取jQuery代码,而没有获取第二个TwoColumnUnit
类。
我如何修复代码,使这段代码将工作在多个类具有相同的类名?
$('.TwoColumnUnit').each(function() {
var pairs = [document.querySelector('.TwoColumnUnit_Left'), document.querySelector('.TwoColumnUnit_Right')];
pairs.forEach(function(pair) {
if (pair) {
var boxes = pair.getElementsByClassName('col-sm-12 col-md-6');
var maxHeight = 0;
Array.from(boxes).forEach(function(box) {
box.style.height = ''; // Reset
maxHeight = Math.max(maxHeight, box.offsetHeight);
});
Array.from(boxes).forEach(function(box) {
box.style.height = maxHeight + 'px';
});
}
});
});
个字符
2条答案
按热度按时间yiytaume1#
querySelector()
将只选择.TwoColumnUnit
中的第一个匹配项。您应该改用querySelectorAll()
。另外,我建议你避免混合使用JS和jQuery。
Demo:
个字符
bwntbbo32#
因为您的DOM选择器选择相同的两个div
你想尽可能多地使用jQuery或者根本不使用
注意我不需要测试div是否存在,因为如果没有找到它们,脚本将忽略它们
个字符
没有jQuery
的字符串