--- id: 5ef9b03c81a63668521804e2 title: Part 53 challengeType: 0 --- ## Description
Forms commonly use checkboxes for questions that may have more than one answer. For example, here's a checkbox with the option of `tacos`: ` tacos`. Under the `legend` element you just added, add an `input` with its `type` attribute set to `checkbox` and give it the option of `Loving`.
## Tests
```yml tests: - text: The `input` element for your checkbox should have an opening tag, but not a closing tag. testString: assert( $('fieldset > input') && !code.match(/<\/input\>/g) ); - text: You should only have added one input element for your checkbox. Remove any extras. testString: assert( $('fieldset > input').length === 1 ); - text: Your new `input` element should be below the `legend` element with the text `What's your cat's personality?`. You have them in the wrong order. testString: | const existingLegendElem = $('fieldset > legend')[1]; assert( existingLegendElem && existingLegendElem.nextElementSibling.nodeName === 'INPUT' ); - text: Your new `input` element does not have a `type` attribute. Check that there is a space after the opening tag's name. testString: assert( $('fieldset > input')[0].hasAttribute('type') ); - text: Your new `input` element should have a `type` attribute with the value `checkbox`. You have either omitted the value or have a typo. Remember that attribute values should be surrounded with quotation marks. testString: assert( $('fieldset > input')[0].getAttribute('type').match(/^checkbox$/i) ); - text: Although you have set the new `input` element's `type` attribute to `checkbox`, it is recommended to always surround the value of an attribute with quotation marks. testString: assert( !/\<\s*input\s+type\s*=\s*checkbox/i.test(code) ); - text: The text ` Loving` should be located directly to the right of your checkbox. Make sure there is a space between the element and the text. You have either omitted the text or have a typo. testString: | const checkboxInputElem = $('input[type="checkbox"]')[0]; assert( checkboxInputElem.nextSibling.nodeValue.replace(/\s+/g, ' ').match(/ Loving/i) ); ```
## Challenge Seed
```html

CatPhotoApp

Cat Photos

Click here to view more cat photos.

A cute orange cat lying on its back.

Cat Lists

Things cats love:

  • cat nip
  • laser pointers
  • lasagna
A slice of lasagna on a plate.
Cats love lasagna.

Top 3 things cats hate:

  1. flea treatment
  2. thunder
  3. other cats
Five cats looking around a field.
Cats hate other cats.

Cat Form

Is your cat an indoor or outdoor cat?
--fcc-editable-region-- What's your cat's personality? --fcc-editable-region--
```