6

我在无序列表上有一个句柄(对于我的示例,我将调用句柄 Var1),并且希望能够将其最后一个 li 分配给一个变量。我尝试 Lastli = var1.lastChild 了我认为可行的唯一方法,但没有。我似乎无法仅使用 Javascript 而不是 jQuery 找到答案,感谢任何帮助。

4

5 回答 5

22

您可以选择父元素并使用 lastChild 属性。

var container = document.getElementsByTagName("ul")[0];
var lastchild = container.lastChild;

或者您将所有项目选择到一个数组中并获取最后一个项目。这是一个简单的例子:

 var items = document.querySelectorAll("li");
 var lastchild = items[items.length-1];
于 2012-11-09T13:29:11.907 回答
7

您可以选择所有“li”并取最后一个。就像是:

var myLi = document.getElementsByTagName('li');
var lastLi = myLi[myLi.length-1];
于 2012-11-09T13:24:58.903 回答
3

让我们考虑一个例子

<ul >
    <li>Coffee</li>
    <li>Tea</li>
    <li>Milk</li>
</ul>

要获取列表的最后一个孩子,您可以简单地使用 queryselector

document.querySelector('li:last-child'); //this will return Milk which is the last child of the list
document.querySelector('li:first-child') OR document.querySelector('li'); //both will give you the first child of the list

假设您想要第 n 个孩子,您可以使用以下语法:

document.querySelector('li:nth-child(2)');  //it will return the second child (here Tea)

如果您想要给定列表中的所有列表项:

document.getElementsByTagName('li') //(Will return the whole list)here i am using tagname. It can be also applied on classname or element id
于 2019-06-03T17:20:15.500 回答
2

试试这个:.childNodes[childNodes.length - 1]

于 2012-11-09T13:24:45.650 回答
1

要么ulReference.children[ulReference.children.length -1]要么ulReference.childNodes[ulReference.childNodes.length -1]。两者的区别可以看这里

于 2012-11-09T13:26:12.493 回答