80 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
id: bad87fee1348bd9aedf08835
 | 
						|
title: Create a Set of Checkboxes
 | 
						|
challengeType: 0
 | 
						|
videoUrl: ''
 | 
						|
localeTitle: 创建一组复选框
 | 
						|
---
 | 
						|
 | 
						|
## Description
 | 
						|
<section id="description">表单通常使用<code>checkboxes</code>来表示可能有多个答案的问题。复选框是一种类型的<code>input</code>您的每一个复选框可以嵌套自身的内<code>label</code>元素。通过将<code>input</code>元素包装在<code>label</code>元素内部,它将自动将复选框输入与其周围的标签元素相关联。所有相关的复选框输入应具有相同的<code>name</code>属性。通过在<code>label</code>元素上设置<code>for</code>属性以匹配关联<code>input</code>元素的<code>id</code>属性,最佳做法是明确定义复选框<code>input</code>与其对应<code>label</code>之间的关系。这是一个复选框的示例: <code><label for="loving"><input id="loving" type="checkbox" name="personality"> Loving</label></code> </section>
 | 
						|
 | 
						|
## Instructions
 | 
						|
<section id="instructions">在表单中添加一组三个复选框。每个复选框应嵌套在自己的<code>label</code>元素中。这三者都应该分享<code>personality</code>的<code>name</code>属性。 </section>
 | 
						|
 | 
						|
## Tests
 | 
						|
<section id='tests'>
 | 
						|
 | 
						|
```yml
 | 
						|
tests:
 | 
						|
  - text: 您的页面应该有三个复选框元素。
 | 
						|
    testString: 'assert($("input[type="checkbox"]").length > 2, "Your page should have three checkbox elements.");'
 | 
						|
  - text: 三个复选框元素中的每一个都应嵌套在自己的<code>label</code>元素中。
 | 
						|
    testString: 'assert($("label > input[type="checkbox"]:only-child").length > 2, "Each of your three checkbox elements should be nested in its own <code>label</code> element.");'
 | 
						|
  - text: 确保每个<code>label</code>元素都有一个结束标记。
 | 
						|
    testString: 'assert(code.match(/<\/label>/g) && code.match(/<label/g) && code.match(/<\/label>/g).length === code.match(/<label/g).length, "Make sure each of your <code>label</code> elements has a closing tag.");'
 | 
						|
  - text: 为您的复选框提供<code>personality</code>的<code>name</code>属性。
 | 
						|
    testString: 'assert($("label > input[type="checkbox"]").filter("[name="personality"]").length > 2, "Give your checkboxes the <code>name</code> attribute of <code>personality</code>.");'
 | 
						|
 | 
						|
```
 | 
						|
 | 
						|
</section>
 | 
						|
 | 
						|
## Challenge Seed
 | 
						|
<section id='challengeSeed'>
 | 
						|
 | 
						|
<div id='html-seed'>
 | 
						|
 | 
						|
```html
 | 
						|
<h2>CatPhotoApp</h2>
 | 
						|
<main>
 | 
						|
  <p>Click here to view more <a href="#">cat photos</a>.</p>
 | 
						|
 | 
						|
  <a href="#"><img src="https://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back."></a>
 | 
						|
 | 
						|
  <p>Things cats love:</p>
 | 
						|
  <ul>
 | 
						|
    <li>cat nip</li>
 | 
						|
    <li>laser pointers</li>
 | 
						|
    <li>lasagna</li>
 | 
						|
  </ul>
 | 
						|
  <p>Top 3 things cats hate:</p>
 | 
						|
  <ol>
 | 
						|
    <li>flea treatment</li>
 | 
						|
    <li>thunder</li>
 | 
						|
    <li>other cats</li>
 | 
						|
  </ol>
 | 
						|
  <form action="/submit-cat-photo">
 | 
						|
    <label for="indoor"><input id="indoor" type="radio" name="indoor-outdoor"> Indoor</label>
 | 
						|
    <label for="outdoor"><input id="outdoor" type="radio" name="indoor-outdoor"> Outdoor</label><br>
 | 
						|
    <input type="text" placeholder="cat photo URL" required>
 | 
						|
    <button type="submit">Submit</button>
 | 
						|
  </form>
 | 
						|
</main>
 | 
						|
 | 
						|
```
 | 
						|
 | 
						|
</div>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
</section>
 | 
						|
 | 
						|
## Solution
 | 
						|
<section id='solution'>
 | 
						|
 | 
						|
```js
 | 
						|
// solution required
 | 
						|
```
 | 
						|
</section>
 |