可以使用以下方法:
:last-of-type
:这个选择器可以选择同类型的最后一个元素。但是需要注意的是,它选择的是同类型的最后一个元素,而不是最后一个可见元素。如果在最后一个可见div之后还有其他类型的元素,那么这个选择器将选择这个元素而不是最后一个可见div。document.querySelectorAll
方法获取所有的div元素,然后通过循环遍历判断每个div元素是否可见,最后获取最后一个可见div的CSS选择器。以下是一个示例代码:
function getLastVisibleDivSelector() {
var divs = document.querySelectorAll('div');
var lastVisibleDiv = null;
for (var i = divs.length - 1; i >= 0; i--) {
var div = divs[i];
var style = window.getComputedStyle(div);
if (style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0') {
lastVisibleDiv = div;
break;
}
}
if (lastVisibleDiv) {
var selector = '';
var currentElement = lastVisibleDiv;
while (currentElement !== document.body) {
var tagName = currentElement.tagName.toLowerCase();
var index = Array.prototype.indexOf.call(currentElement.parentNode.children, currentElement) + 1;
selector = tagName + ':nth-child(' + index + ') ' + selector;
currentElement = currentElement.parentNode;
}
return selector.trim();
}
return null;
}
var lastVisibleDivSelector = getLastVisibleDivSelector();
console.log(lastVisibleDivSelector);
这段代码会在控制台输出最后一个可见div的CSS选择器。你可以将其应用到你的项目中,并根据需要进行修改和优化。
注意:以上代码只是一个示例,实际应用中可能需要根据具体情况进行适当的调整。
领取专属 10元无门槛券
手把手带您无忧上云