Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions 2-ui/1-document/03-dom-navigation/1-dom-children/solution.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
这里有很多方法,比方说
这里有很多种方法,例如


获取 `<div>` DOM 节点:

```js
document.body.firstElementChild
// 或者
//
document.body.children[0]
// 或者(第一个节点是空格,所有我们拿第二个
// (第一个节点是空格,所以我们应该获取的是第二个
document.body.childNodes[1]
```

获取 `<ul>` DOM 节点:

```js
document.body.lastElementChild
// 或者
//
document.body.children[1]
```

获取第二个 `<li>`(即包含 Pete 的节点)
获取第二个 `<li>`(即包含 Pete 的节点)

```js
// 获取 <ul>, 然后拿它的最后一个子元素
// 获取 <ul>,然后获取它的最后一个子元素
document.body.lastElementChild.lastElementChild
```
4 changes: 2 additions & 2 deletions 2-ui/1-document/03-dom-navigation/1-dom-children/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ importance: 5
</html>
```

如何能访问到以下内容
对于以下各项,请给出至少一种访问方式
- `<div>` DOM 节点?
- `<ul>` DOM 节点?
- `<ul>` DOM 节点?
- 第二个 `<li>` 节点(即包含 Pete 的节点)?
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
1. 是的,这是真的。`elem.lastChild` 一直是最后一个元素,它就没有 `nextSibling` ,所有如果存在子节点,这个问题的答案就是正确
2. 不,这是错的,因为 `elem.children[0]` 是元素中的第一个子元素。但是或许有非元素的节点在它之前。所以 `previousSibling` 或许是一个文本节点
1. 是的,这是真的。`elem.lastChild` 就是最后一个元素,它没有 `nextSibling`。
2. 不,这是错的,因为 `elem.children[0]` 是元素中的第一个子元素。但是在它前面可能存在非元素的节点。所以 `previousSibling` 可能是一个文本节点

请注意,对于这两种情况,如果没有子节点就会出现错误。比如说如果 `elem.lastChild` 是 `null`,我们就访问不到 `elem.lastChild.nextSibling`。
请注意,对于这两种情况,如果没有子节点,那么就会报错。

如果这里没有子节点,那么 `elem.lastChild` 是 `null`,所以我们就访问不到 `elem.lastChild.nextSibling`。并且 `elem.children` 是空的(像一个空数组一样 `[]`)。
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ importance: 5

如果 `elem` 是任意一个 DOM 元素节点……

- `elem.lastChild.nextSibling` 值一直都是 `null` 这个判定是不是真的?
- `elem.children[0].previousSibling` 值一直都是 `null` 这个判定是不是真的?
- `elem.lastChild.nextSibling` 值一直都是 `null`这个判定是不是真的?
- `elem.children[0].previousSibling` 值一直都是 `null`这个判定是不是真的?
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ importance: 5

---

# 选择所有对角线单元格
# 选择所有对角单元格

编写代码来把表中的对角单元格都绘制成红色。

你需要用代码从 `<table>` 中获取到所有的对角线 `<td>`,然后绘制它们:
你需要用代码从 `<table>` 中获取所有的对角单元格 `<td>`,然后绘制它们:

```js
// td 表示的是对单元格的引用
Expand Down
Loading