contents()
is primarily used in jQuery when you need to select text nodes. In the first code sample you have it's not needed at all, as you use find()
to select elements with a class. These lines of jQuery would serve the same purpose:
$(".parent-class").find(".child-class").css("color", "red");
$(".parent-class .child-class").css("color", "red");
In plain JS this would be:
document.querySelectorAll('.parent-class .child-class').forEach(el => el.style.color = 'red');
Note querySelectorAll()
there. This will return a nodeList which you need to iterate through to update the style in the same way the jQuery code does.
There is no explicit JS equivalent of contents()
because you traverse manually to find the nodes you want to target, or use querySelector()
, getElementByX()
etc to target the elements.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…