Я написал небольшой скрипт, используя другую часть из ответов на этой странице (спасибо @Desty и @MichaelDePhillips). Сценарий быстрый (от 100 до 200 мс на моем компьютере), и вы можете указать, что бренд не переключается. Вот сценарий:
console.time('Execution time');
var manufacturers = document.querySelectorAll('[data-manufacturer-group]');
for (var i = 0; i < manufacturers.length; i++) {
var manufacturer = manufacturers[i];
var brand = manufacturer.firstElementChild;
if (brand.tagName == 'H3' && brand.textContent != 'Samsung') {
console.log(brand.textContent);
var tags = manufacturer.children;
for (var j=0;j<tags.length;j++) {
var tag = tags[j];
if (tag.tagName == 'OL') {
var devices = tag.children;
for (var k=0;k<devices.length;k++) {
var device = devices[k];
if (device.tagName == 'LI') {
var checkbox = device.firstElementChild;
var attr = checkbox.getAttribute;
if (checkbox.tagName == 'CHECKBOX') {
checkbox.setAttribute('aria-checked', 'true');
}
}
}
}
}
}
}
console.timeEnd('Execution time');
Это мой первый javascript, все отзывы приветствуются.
Другие ответы являются сложными.
Некоторые не отвечают на вопрос вообще.
Ниже обработанного для меня
// orignal object with deep keys
var originalObject = {
k1: "v1",
k2: "v2",
deepObj: {
k3: "v3",
k4: "v4"
}
};
// make copies now
var copy1 = JSON.parse(JSON.stringify(originalObject));
var copy2 = JSON.parse(JSON.stringify(originalObject));
Hope, которая помогает.