,可以使用JavaScript中的querySelectorAll方法结合CSS选择器来实现。
首先,使用querySelectorAll方法选择所有具有该类的元素,然后遍历这些元素,对于每个元素,可以使用previousElementSibling属性来获取其前一个兄弟元素。如果前一个兄弟元素也具有该类,则返回该元素,否则继续查找前一个兄弟元素,直到找到具有该类的元素或者没有更多的兄弟元素。
以下是一个示例代码:
function findPreviousElementWithClass(className) {
var elements = document.querySelectorAll('.' + className);
for (var i = 0; i < elements.length; i++) {
var currentElement = elements[i];
var previousElement = currentElement.previousElementSibling;
while (previousElement) {
if (previousElement.classList.contains(className)) {
return previousElement;
}
previousElement = previousElement.previousElementSibling;
}
}
return null; // 如果没有找到具有该类的元素,则返回null
}
在上述代码中,findPreviousElementWithClass函数接受一个参数className,表示要查找的类名。它首先使用querySelectorAll方法选择所有具有该类的元素,然后遍历这些元素。对于每个元素,使用previousElementSibling属性来获取其前一个兄弟元素,并使用classList.contains方法检查该兄弟元素是否具有该类。如果具有该类,则返回该兄弟元素;否则,继续查找前一个兄弟元素,直到找到具有该类的元素或者没有更多的兄弟元素。如果没有找到具有该类的元素,则返回null。
这种方法可以在不考虑DOM结构的情况下,根据给定文本选择的情况,查找某个类的前一个元素。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云