3.8 KiB
3.8 KiB
id | title | required | challengeType | |||
---|---|---|---|---|---|---|
bad87fee1348bd9aed908626 | Target the Same Element with Multiple jQuery Selectors |
|
6 |
Description
$("button")
, by class: $(".btn")
, and by id $("#target1")
.
Although it is possible to add multiple classes in a single .addClass()
call, let's add them to the same element in three separate ways.
Using .addClass()
, add only one class at a time to the same element, three different ways:
Add the animated
class to all elements with type button
.
Add the shake
class to all the buttons with class .btn
.
Add the btn-primary
class to the button with id #target1
.
NoteYou should only be targeting one element and adding only one class at a time. Altogether, your three individual selectors will end up adding the three classes
shake
, animated
, and btn-primary
to #target1
.
Instructions
Tests
tests:
- text: Use the <code>$("button")</code> selector.
testString: assert(code.match(/\$\s*?\(\s*?(?:'|")\s*?button\s*?(?:'|")/gi), 'Use the <code>$("button")</code> selector.');
- text: Use the <code>$(".btn")</code> selector.
testString: assert(code.match(/\$\s*?\(\s*?(?:'|")\s*?\.btn\s*?(?:'|")/gi), 'Use the <code>$(".btn")</code> selector.');
- text: Use the <code>$("#target1")</code> selector.
testString: assert(code.match(/\$\s*?\(\s*?(?:'|")\s*?#target1\s*?(?:'|")/gi), 'Use the <code>$("#target1")</code> selector.');
- text: Only add one class with each of your three selectors.
testString: assert(code.match(/addClass/g) && code.match(/addClass\s*?\(\s*?('|")\s*?[\w-]+\s*?\1\s*?\)/g).length > 2, 'Only add one class with each of your three selectors.');
- text: Your <code>#target1</code> element should have the classes <code>animated</code>‚ <code>shake</code> and <code>btn-primary</code>.
testString: assert($('#target1').hasClass('animated') && $('#target1').hasClass('shake') && $('#target1').hasClass('btn-primary'), 'Your <code>#target1</code> element should have the classes <code>animated</code>‚ <code>shake</code> and <code>btn-primary</code>.');
- text: Only use jQuery to add these classes to the element.
testString: 'assert(!code.match(/class.*animated/g), "Only use jQuery to add these classes to the element.");'
Challenge Seed
<script>
$(document).ready(function() {
});
</script>
<!-- Only change code above this line. -->
<div class="container-fluid">
<h3 class="text-primary text-center">jQuery Playground</h3>
<div class="row">
<div class="col-xs-6">
<h4>#left-well</h4>
<div class="well" id="left-well">
<button class="btn btn-default target" id="target1">#target1</button>
<button class="btn btn-default target" id="target2">#target2</button>
<button class="btn btn-default target" id="target3">#target3</button>
</div>
</div>
<div class="col-xs-6">
<h4>#right-well</h4>
<div class="well" id="right-well">
<button class="btn btn-default target" id="target4">#target4</button>
<button class="btn btn-default target" id="target5">#target5</button>
<button class="btn btn-default target" id="target6">#target6</button>
</div>
</div>
</div>
</div>
Solution
// solution required