2020-07-24 09:13:46 -07:00
---
id: 5dfb6a35eacea3f48c6300b4
2021-10-21 10:07:52 -07:00
title: Step 23
2020-07-24 09:13:46 -07:00
challengeType: 0
2021-10-21 10:07:52 -07:00
dashedName: step-23
2020-07-24 09:13:46 -07:00
---
2020-11-27 19:02:05 +01:00
# --description--
2020-07-24 09:13:46 -07:00
2022-01-05 20:02:16 +03:00
A figure caption (`figcaption` ) element is used to add a caption to describe the image contained within the `figure` element. For example, `<figcaption>A cute cat</figcaption>` adds the caption `A cute cat` .
2020-07-24 09:13:46 -07:00
After the image nested in the `figure` element, add a `figcaption` element with the text `Cats love lasagna.`
2020-11-27 19:02:05 +01:00
# --hints--
The Lasagna `img` element should be nested in the `figure` element.
```js
assert(
document.querySelector('figure > img') &&
document.querySelector('figure > img').getAttribute('src').toLowerCase() ===
2021-09-21 23:46:55 +09:00
'https://cdn.freecodecamp.org/curriculum/cat-photo-app/lasagna.jpg'
2020-11-27 19:02:05 +01:00
);
```
Your `figcaption` element should have an opening tag. Opening tags have the following syntax: `<elementName>` .
```js
assert(document.querySelector('figcaption'));
2020-07-24 09:13:46 -07:00
```
2020-11-27 19:02:05 +01:00
Your `figcaption` element should have a closing tag. Closing tags have a `/` just after the `<` character.
```js
assert(code.match(/<\/figcaption\>/));
```
The `figcaption` element should be nested in the `figure` element.
```js
assert(
document.querySelector('figure > figcaption') &&
document.querySelector('figure > figcaption')
);
```
The lasagna `img` element should be nested in the `figure` element.
```js
assert(
document.querySelector('figure > img') &&
document.querySelector('figure > img').getAttribute('src').toLowerCase() ===
2021-09-21 23:46:55 +09:00
'https://cdn.freecodecamp.org/curriculum/cat-photo-app/lasagna.jpg'
2020-11-27 19:02:05 +01:00
);
```
The `figcaption` element nested in the `figure` element should be below the `img` element. You have them in the wrong order.
```js
assert(
document.querySelector('figcaption').previousElementSibling.nodeName === 'IMG'
);
```
Your `figcaption` element's text should be `Cats love lasagna.` You have either omitted the text or have a typo.
```js
assert(
document.querySelector('figcaption').innerText.m atch(/Cats love lasagna.?$/i)
);
```
2020-07-24 09:13:46 -07:00
2020-11-27 19:02:05 +01:00
# --seed--
2020-07-24 09:13:46 -07:00
2020-11-27 19:02:05 +01:00
## --seed-contents--
2020-07-24 09:13:46 -07:00
```html
<html>
<body>
<h1>CatPhotoApp</h1>
<main>
<section>
<h2>Cat Photos</h2>
<!-- TODO: Add link to cat photos -->
2020-07-24 23:16:42 -07:00
<p>Click here to view more <a target="_blank" href="https://freecatphotoapp.com">cat photos</a>.</p>
2021-09-21 23:46:55 +09:00
<a href="https://freecatphotoapp.com"><img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt="A cute orange cat lying on its back."></a>
2020-07-24 09:13:46 -07:00
</section>
<section>
<h2>Cat Lists</h2>
<h3>Things cats love:</h3>
<ul>
<li>cat nip</li>
<li>laser pointers</li>
<li>lasagna</li>
</ul>
<figure>
2020-11-27 19:02:05 +01:00
--fcc-editable-region--
2021-09-21 23:46:55 +09:00
<img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/lasagna.jpg" alt="A slice of lasagna on a plate.">
2020-11-27 19:02:05 +01:00
--fcc-editable-region--
2020-07-24 09:13:46 -07:00
</figure>
</section>
</main>
</body>
</html>
```