Потому что ищет последнего потомка, а не последний элемент в селекторе. Хотя jQuery поддерживает псевдоэлемент :last
.
$("li").click(function(){
alert($(this).is("li:last"));
})
Кроме того, ul
не может содержать div
. ul
s для списков и должны содержать только li
s (или другие ul
s для подсписков), но это не повлияет на выбор jQuery ... это просто неверная разметка HTML.