curriculum/challenges/english/blocks/basic-html-and-html5/bad87fee1348bd9aedf08830.md
Placeholder text is what is displayed in your input element before your user has inputted anything.
You can create placeholder text like so:
<input type="text" placeholder="this is placeholder text">
Note: Remember that input is a void element.
Set the placeholder value of your text input to "cat photo URL".
You should add a placeholder attribute to the existing text input element.
assert.notEmpty(document.querySelectorAll('input[placeholder]'));
You should set the value of your placeholder attribute to cat photo URL.
assert.exists(document.querySelector('input'));
assert.exists(document.querySelector('input').getAttribute('placeholder'));
const placeholder = document.querySelector('input').getAttribute('placeholder');
assert.match(placeholder,/cat\s+photo\s+URL/gi);
The finished input element should not have a closing tag.
assert.notMatch(code,/<input.*\/?>.*<\/input>/gi);
The finished input element should have valid syntax.
assert.notEmpty(document.querySelectorAll('input[type=text]'));
<h2>CatPhotoApp</h2>
<main>
<p>Click here to view more <a href="#">cat photos</a>.</p>
<a href="#"></a>
<p>Things cats love:</p>
<ul>
<li>catnip</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>
<input type="text">
</main>
<h2>CatPhotoApp</h2>
<main>
<p>Click here to view more <a href="#">cat photos</a>.</p>
<a href="#"></a>
<p>Things cats love:</p>
<ul>
<li>catnip</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>
<input type="text" placeholder="cat photo URL">
</main>