Javascript Course


querySelector() and querySelectorAll() are two JavaScript functions very useful when working with HTML elements and JavaScript.
With these functions you can get in JavaScript the HTML elements according to a group of CSS selectors ('id', 'class').


querySelector()

querySelector() returns the first element within the document that matches the specified group of selectors, or null if no matches are found.
Syntax:
var elm = document.querySelector('selectors');
- 'selectors' is a string containing one or more CSS selectors separated by commas.
- elm is an element object.

Example, the code below displays the content of the first LI with class='aclass'.
<h4>Example querySelector()</h4>
<ul>
 <li>MarPlo.net</li>
 <li class='aclass'>CoursesWeb.net</li>
 <li class='aclass'>GamV.eu</li>
</ul>
<p style='background:#fbfbb0;'>If you click the following button (accessed with querySelector), it displays at #resp the content of the first LI with class='aclass'.</p>
<button id='btn1'>Click</button>
<blockquote id='resp'>#resp</blockquote>

<script>
var btn = document.querySelector('#btn1');
btn.addEventListener('click', (ev)=>{
 document.getElementById('resp').innerHTML = document.querySelector('li.aclass').innerHTML;
});
</script>

querySelectorAll()

querySelectorAll() returns an array of objects with the elements that match the specified group of selectors.
Syntax:
var elms = document.querySelectorAll('selectors');
- 'selectors' is a string containing one or more CSS selectors separated by commas.
- elms is an array with the selected HTML elements.

Example, gets an Array with the content of LI tags with class='sites', and the tags with class='note' within element with id='dv1', then it displays their content:
<h4>Example querySelectorAll()</h4>
<ul>
 <li class='sites'>CoursesWeb.net</li>
 <li class='sites'>MarPlo.net</li>
 <li>GamV.eu.net</li>
</ul>
<div id='dv1'>
 Web Development courses - <span class='note'>querySelector and querySelectorAll</span>
</div>
<p style='background:#fbfbb0;'>The JS script gets an array with the LI tags with class='sites' and the tag with class='note' from #dv1 (css selector: '<b>li.sites, #dv1 .note</b>' ).<br>
If you click the button, it displays their content at #resp.</p>
<button id='btn1'>Click</button>
<blockquote id='resp'>#resp</blockquote>

<script>
// gets all the LI tags with class='sites', and the tags with class='note' in element with id='dv1'
var elms = document.querySelectorAll('li.sites, #dv1 .note');
var btn = document.querySelector('#btn1');
btn.addEventListener('click', (ev)=>{
 var re ='';

//traverse the elms array, and adds in re the content of each element
 for(var i=0; i<elms.length; i++) {
 re += elms[i].innerHTML +'<br>';
 }

 //adds the string in #resp
 document.getElementById('resp').innerHTML = re;
});
</script>

The difference between querySelector() and querySelectorAll() is that querySelector() returns a single object with the first HTML element that matches the 'selectors', but querySelectorAll() returns an array of objects with all the HTML elements that match the 'selectors'.


• To limit the search to descendants of an element only, you can call the selectors API on the specific element of interest.
elementObject.querySelector('selectors')

elementObject.querySelectorAll('selectors')

- Here's another example with querySelectorAll(), the selection is made on other element, not on 'document'. When the mouse cursor is over a selected <a>, the URL address is added into a specified input field.
<p style='background:#fbfbb0;'>The JS script apply querySelectorAll() to gets the elements within the tag with id 'sites'.<br>
 - When the mouse is over the next links, the address from 'href' it is added in the text field.</p>
Adresa URL: <input type='text' id='txt1' />
<ul id='sites'>
 <li><a href='//coursesweb.net/javascript' title='JavaScript Course'>JavaScript Course</a></li>
 <li><a href='//gamv.eu/' title='Flash Games'>Flash Games</a></li>
</ul>

<script>
var txt1 = document.getElementById('txt1');

// gets A tags in LI added in element with id='idata'
var elms = document.getElementById('sites').querySelectorAll('li a');

//registers mouseenter to each element in elms array
for(var i=0; i<elms.length; i++){
 elms[i].addEventListener('mouseenter', (ev)=>{
 txt1.value = ev.target.href;
 });
}
</script>

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag can be used to create input text field in web page?
<form> <input> <div>
<input type="text" name="a_name" value="val" />
Which CSS property displays the text in a small-caps font?
display font-variant font-style
h3 {
  font-variant: small-caps;
}
What instruction displays a notice box with a message inside it, in JavaScript?
for() Date() alert()
var msg = "Visit CoursesWeb.net";
alert(msg);
Indicate the PHP code used to get the users IP.
$_SERVER["HTTP_USER_AGENT"] $_SERVER["REMOTE_ADDR"] $_GET[]
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
querySelector and querySelectorAll

Last accessed pages

  1. querySelector and querySelectorAll (28677)
  2. PHP Unzipper - Extract Zip, Rar Archives (26848)
  3. innerHTML and outerHTML to Get and Replace HTML content (29891)
  4. Follow the mouse cursor with a DIV inside a Parent (7811)
  5. innerHTML in PHP (15306)

Popular pages this month

  1. PHP Unzipper - Extract Zip, Rar Archives (807)
  2. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (565)
  3. SHA1 Encrypt data in JavaScript (432)
  4. Create simple Website with PHP (398)
  5. Read Excel file data in PHP - PhpExcelReader (391)