除了使用在IE8中不可行的
div:last-child
之外,有其他方法可以获取元素的最后一个子元素吗?
div:last-child
之外,有其他方法可以获取$("div :last-child")
在纯CSS中无法做到。
否则,您需要在Javascript中遍历DOM。
此外请注意区别:
"div :last-child"
:div的每个最后一个子元素;和"div:last-child"
:每个作为最后一个子元素的div。$(".mydiv").doStuff().children().eq(-1).doChildStuff()
可能是最优雅的。 - cletus很不幸,我不知道在 CSS 中如何做到这一点,而不使用 :last-child,因为(如您所述)它无法在 IE 中正常工作。
如果您在谈论 JavaScript,则可以使用 Node.lastChild 进行操作:
var div = document.getElementById("mydiv");
var lastChild = div.lastChild;
使用 jQuery 查找相应的元素:$("div:last-child").addClass("last-child");
然后使用 CSS 指定样式:div .last-child { /* 您的样式规则 */ }
var targetElement = document.getElementsByTagName("body")[0],
lastChildElement = targetElement.lastChild;
while (lastChildElement && lastChildElement.nodeType !== 1) {
lastChildElement = lastChildElement.previousSibling;
}
if (lastChildElement) {
// Do something
}
var divs = $("id").getElementsByTagName('div');
var lastChild = divs[divs.length-1];