First Child Last Child Dom 遍历不工作
First Child Last Child Dom traversal not working
我正在学习Javascript,遇到一个奇怪的问题,我实在是不懂。我正在关注 Jon Duckett 的 Book Javascritp and Jquery。我正在做与书中描述的相同的事情,但由于某种原因它不起作用。根据代码,ul 的第一个子节点应该获得当前的 class,但事实并非如此。有人可以帮忙解释一下代码出了什么问题吗?谢谢
var ul = document.getElementsByTagName('ul')[0];
var firstItem = ul.firstChild;
firstItem.setAttribute('class', 'current');
li {
list-style: none;
padding: 10px 15px;
width: 220px;
border: 1px solid #eeeeee;
}
.current {
background: #84ac47;
}
#nav {
width: 220px;
border: 1px solid #dedede;
padding: 10px 15px;
margin-left: 40px;
overflow: hidden;
}
#previous {
float: left;
}
#next {
float: right;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<ul id='list'>
<li class='null'>One</li>
<li id='two'>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
<div id="nav">
<button id="previous">Previous</button>
<button id="next">Next</button>
</div>
</body>
</html>
你应该尝试做这样的事情:
var firstItem = ul.children[0];
你提到了一本关于 JavaScript 和 jQuery 的书,所以如果你对 jQuery 版本感兴趣,我想我会添加一个替代方法:
第一
$("ul#list li:first").addClass("current");
最后
$("ul#list li:last").addClass("current");
我正在学习Javascript,遇到一个奇怪的问题,我实在是不懂。我正在关注 Jon Duckett 的 Book Javascritp and Jquery。我正在做与书中描述的相同的事情,但由于某种原因它不起作用。根据代码,ul 的第一个子节点应该获得当前的 class,但事实并非如此。有人可以帮忙解释一下代码出了什么问题吗?谢谢
var ul = document.getElementsByTagName('ul')[0];
var firstItem = ul.firstChild;
firstItem.setAttribute('class', 'current');
li {
list-style: none;
padding: 10px 15px;
width: 220px;
border: 1px solid #eeeeee;
}
.current {
background: #84ac47;
}
#nav {
width: 220px;
border: 1px solid #dedede;
padding: 10px 15px;
margin-left: 40px;
overflow: hidden;
}
#previous {
float: left;
}
#next {
float: right;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<ul id='list'>
<li class='null'>One</li>
<li id='two'>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
<div id="nav">
<button id="previous">Previous</button>
<button id="next">Next</button>
</div>
</body>
</html>
你应该尝试做这样的事情:
var firstItem = ul.children[0];
你提到了一本关于 JavaScript 和 jQuery 的书,所以如果你对 jQuery 版本感兴趣,我想我会添加一个替代方法:
第一
$("ul#list li:first").addClass("current");
最后
$("ul#list li:last").addClass("current");