This is an old revision of the document!
Table of Contents
Java Script Hello World
The following script will display 'Hello World' both in a popup window and in the browser's console. To execute the script, it must be run within a web browser.
HTML + JS code in the same file
- hello-world-js.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Hello World!</title> </head> <body> <h1>Hello World! from JS in a script tag</h1> <script> alert('Hello world!'); const h1 = document.querySelector('h1'); console.log(h1.textContent); </script> </body> </html>
The syntax looks like this:
const element = document.querySelector(selector);
Here, selector is a string containing one or more CSS selectors separated by commas. This method will return the first element that is a descendant of the document that matches the specified selectors.
Example 1:
<div id="container"> <p class="text">Hello, World!</p> </div>
You could use document.querySelector to select the <p> element with the class “text”:
const textElement = document.querySelector('.text'); console.log(textElement.textContent); // Outputs "Hello, World!"
Or you could select it by its parent's ID:
const textElement = document.querySelector('#container .text');
#container .text selector targets elements with the class text that are descendants of the element with the ID container. It doesn't matter how deeply nested the .text elements are within #container; they will be selected.
Example 2:
<div id="container" class="text">Hello World!</div>
To select the text 'Hello World':
const textElement = document.querySelector('#container.text');
#container.text selector targets an element that has both the ID container and the class text. It's looking for a single element that matches both of these criteria.
If you want to select an element that has both the ID container and the class text, use #container.text.
In previous versions of HTML, it was common to see the type attribute set like this:
<script type="text/javascript"> // Your JavaScript code here </script>
However, since HTML5, this is considered unnecessary, and the following is completely acceptable and standard:
<script> // Your JavaScript code here </script>
If you're writing HTML that must conform to older standards or you want to be explicitly clear about the type, you can still include the type attribute. However, for most modern web development, it can safely be omitted.
Omitting the lang attribute might not cause any immediate or apparent issues, especially if the content is in English, since many tools and systems may assume English as a default. However, it's still considered best practice to include the lang attribute to explicitly declare the language.
This can be particularly important for accessibility tools like screen readers, which use the language information to determine the correct pronunciation rules. It's also useful for search engines, which may use the language information to serve the page to the right audience.
In summary, while many systems might assume English as the default language if the lang attribute is omitted, it's still recommended to include it to ensure that your HTML is semantically correct and accessible.
HTML + JS code in separated files
HTML code:
- hello-world.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Hello World!</title> </head> <body> <h1>Hello World! from an imported script file</h1> <script src="./hello-script.js"></script> </body> </html>
Java Script code:
- hello-script.js
alert('Hello world!'); const h1 = document.querySelector('h1'); console.log(h1.textContent);