---
id: 5d822fd413a79914d39e98cc
title: 步骤 4
challengeType: 0
dashedName: step-4
---

# --description--

在 `head` 中，嵌套一个 `meta` 元素，其中 `charset` 为 `UTF-8`，一个标题文本为 `City Skyline` 的 `title` 元素，以及一个链接 `styles.css` 文件的 `link` 元素。

# --hints--

你应该在 `head` 元素中创建一个 `meta` 元素。

```js
assert.exists(document.querySelector('head > meta'));
```

你应该给 `meta` 标签一个值为 `UTF-8` 的 `charset`。

```js
assert.equal(document.querySelector('head > meta')?.getAttribute('charset')?.toLowerCase(), 'utf-8');
```

你的代码应该有一个 `title` 元素。

```js
const title = document.querySelector('title');
assert.exists(title);
```

`title` 元素应该在 `head` 元素内。

```js
assert.exists(document.querySelector('head > title'));
```

你的项目的标题应为 `City Skyline`。

```js
const title = document.querySelector('title');
assert.equal(title.text.toLowerCase(), 'city skyline')
```

请记住，标题的大小写和拼写很重要。

```js
const title = document.querySelector('title');
assert.equal(title.text, 'City Skyline');
```

你的代码应该有一个 `link` 元素。

```js
assert.match(code, /<link/)
```

你不应更改现有的 `head` 标签。 确保你没有删除结束标签。

```js
const heads = document.querySelectorAll('head');
assert.equal(heads?.length, 1);
```

你应该有一个自闭合的 `link` 元素。

```js
assert(document.querySelectorAll('link').length === 1);
```

你的 `link` 元素应该在你的 `head` 元素中。

```js
assert.exists(document.querySelector('head > link'));
```

你的 `link` 元素应该有一个 `rel` 属性，其值为 `stylesheet`。

```js
const link_element = document.querySelector('link');
const rel = link_element.getAttribute("rel");
assert.equal(rel, "stylesheet");
```

你的 `link` 元素应该有一个 `href` 属性，其值为 `styles.css`。

```js
const link = document.querySelector('link');
assert.equal(link.dataset.href, "styles.css");
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
--fcc-editable-region--
  <head>

  </head>
--fcc-editable-region--
  <body>
  </body>
</html>
```
