Selecting DOM Elements Using CSS Criteria

Modern JavaScript Manipulating HTML Pages
10 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€96.21
List Price:  €134.70
You save:  €38.49
£79.93
List Price:  £111.90
You save:  £31.97
CA$143.79
List Price:  CA$201.32
You save:  CA$57.52
A$160.48
List Price:  A$224.69
You save:  A$64.20
S$135.83
List Price:  S$190.17
You save:  S$54.33
HK$777.07
List Price:  HK$1,087.93
You save:  HK$310.86
CHF 89.45
List Price:  CHF 125.24
You save:  CHF 35.78
NOK kr1,141.95
List Price:  NOK kr1,598.78
You save:  NOK kr456.82
DKK kr717.64
List Price:  DKK kr1,004.72
You save:  DKK kr287.08
NZ$177.52
List Price:  NZ$248.53
You save:  NZ$71.01
د.إ367.25
List Price:  د.إ514.17
You save:  د.إ146.91
৳11,994.74
List Price:  ৳16,793.12
You save:  ৳4,798.37
₹8,496.63
List Price:  ₹11,895.62
You save:  ₹3,398.99
RM450.75
List Price:  RM631.07
You save:  RM180.32
₦155,628.43
List Price:  ₦217,886.03
You save:  ₦62,257.60
₨27,934.96
List Price:  ₨39,110.06
You save:  ₨11,175.10
฿3,444.45
List Price:  ฿4,822.37
You save:  ฿1,377.92
₺3,518.54
List Price:  ₺4,926.10
You save:  ₺1,407.55
B$617.53
List Price:  B$864.57
You save:  B$247.04
R1,837.80
List Price:  R2,572.99
You save:  R735.19
Лв188.31
List Price:  Лв263.64
You save:  Лв75.33
₩144,872.25
List Price:  ₩202,826.95
You save:  ₩57,954.69
₪364.89
List Price:  ₪510.86
You save:  ₪145.97
₱5,883.01
List Price:  ₱8,236.45
You save:  ₱2,353.44
¥15,672.80
List Price:  ¥21,942.55
You save:  ¥6,269.75
MX$2,028.91
List Price:  MX$2,840.56
You save:  MX$811.64
QR366.34
List Price:  QR512.89
You save:  QR146.55
P1,382.59
List Price:  P1,935.69
You save:  P553.09
KSh12,923.70
List Price:  KSh18,093.70
You save:  KSh5,170
E£5,091.27
List Price:  E£7,127.98
You save:  E£2,036.71
ብር12,764.56
List Price:  ብር17,870.89
You save:  ብር5,106.33
Kz91,790.82
List Price:  Kz128,510.82
You save:  Kz36,720
CLP$99,155.08
List Price:  CLP$138,821.08
You save:  CLP$39,666
CN¥729.81
List Price:  CN¥1,021.77
You save:  CN¥291.95
RD$6,104.52
List Price:  RD$8,546.58
You save:  RD$2,442.05
DA13,454.60
List Price:  DA18,836.98
You save:  DA5,382.37
FJ$232.11
List Price:  FJ$324.96
You save:  FJ$92.85
Q773.21
List Price:  Q1,082.52
You save:  Q309.31
GY$21,000.46
List Price:  GY$29,401.48
You save:  GY$8,401.02
ISK kr13,903.60
List Price:  ISK kr19,465.60
You save:  ISK kr5,562
DH1,007.40
List Price:  DH1,410.40
You save:  DH403
L1,841.78
List Price:  L2,578.57
You save:  L736.78
ден5,922.50
List Price:  ден8,291.74
You save:  ден2,369.23
MOP$803.42
List Price:  MOP$1,124.82
You save:  MOP$321.40
N$1,834.70
List Price:  N$2,568.66
You save:  N$733.95
C$3,694.32
List Price:  C$5,172.20
You save:  C$1,477.87
रु13,665.58
List Price:  रु19,132.35
You save:  रु5,466.77
S/374.71
List Price:  S/524.60
You save:  S/149.89
K406.86
List Price:  K569.63
You save:  K162.76
SAR375.72
List Price:  SAR526.02
You save:  SAR150.30
ZK2,777.96
List Price:  ZK3,889.25
You save:  ZK1,111.29
L478.81
List Price:  L670.35
You save:  L191.54
Kč2,418.25
List Price:  Kč3,385.65
You save:  Kč967.40
Ft39,800.47
List Price:  Ft55,722.25
You save:  Ft15,921.78
SEK kr1,103.66
List Price:  SEK kr1,545.17
You save:  SEK kr441.50
ARS$102,190.76
List Price:  ARS$143,071.15
You save:  ARS$40,880.39
Bs693.61
List Price:  Bs971.08
You save:  Bs277.47
COP$437,799.12
List Price:  COP$612,936.28
You save:  COP$175,137.16
₡50,480.33
List Price:  ₡70,674.48
You save:  ₡20,194.15
L2,548.03
List Price:  L3,567.35
You save:  L1,019.31
₲784,126.06
List Price:  ₲1,097,807.85
You save:  ₲313,681.79
$U4,460.41
List Price:  $U6,244.75
You save:  $U1,784.34
zł409.96
List Price:  zł573.96
You save:  zł164
Already have an account? Log In

Transcript

In this video, we're going to take a look at selecting using CSS selectors. So another way to select nodes from the DOM. So first, some general information about selecting nodes with CSS selectors. The two methods that you use for this are query selector and query selector all query selector will simply find the first node in the DOM and return that it won't look for any others after it finds the first one. query selector all will return an array of all the nodes that match whatever criteria we pass in. Now the criteria we pass in inside the parentheses are CSS selectors.

We enclose it within quotes, so it's a string that evaluates to a CSS selector. Now if you have done any CSS, you are probably very familiar with CSS selectors. If you have not, this may be new to you. I will show some examples CSS selectors to give you an idea. But let me first show you what CSS selector is. So in this CSS page that I have, right, here's a CSS selector.

For example, this says, the class bullets and inside of that the UL tagged Li tag, and then it applies this style to, to the resulting elements. A CSS selector can be simple as well, simply a class bullet read. Or it could be an ID. Here's an ID and then inside of that ID, an image tag. So those are CSS selectors. And you can use those using query selector all or query selector.

Query selector and query selector all are compatible with Newer browsers, but they're pretty widely supported now. So you should be able to use them unless you're really coating too much older browsers before I, for example. And then finally, query selector and query selector all are available on the document object or any element nodes, which you've selected. So you do have some flexibility about where you use them. Now let's look at some examples of how you would enter the CSS selector inside the parentheses there. So you can enter a tag name and if you enter a tag name, it is just the name of the tag without any other characters around it.

If you enter an ID, then you must preface the ID with the hash or the pound symbol. That indicates that it is an ID that you're looking for. If it is a class name, you must preface the class name with a period that indicates That's a class name you're looking for. Now you can combine these. So in this example here, this is a real example of a CSS selector. I'm looking for the span tags that have a class of bullet blue.

That's what this will retrieve. Notice there is no space between span and the dot bullet blue. This next example, I'm looking for the div tag, and then inside of the div tag, a child tag that is an h1. So it has to be a child of a div in order for it to select this right here, we are looking for an element that has an ID of content. And then somewhere in its descendency, there is an h1 tag, notice this space so it doesn't have to be a child, it could be a child of a child, the greater than symbol here indicates that it needs to be a child. So this is just a descendant that is inside of a tag that has an ID of content.

Another example, there's a space here that might be a little bit hard to see, but there is a space here. So this is a tag with the idea be five, and then a descendant of that, that has a class of bullet blue. Finally, you can also use more than one selector. So in this case, we have a comma. So we're indicating that we want to get all the Li tags and all of the span tags, and it will return them together. Now obviously, this one should be done with queers query selector all.

Alright, let's look at a few examples. So I'm going to use Use the same HTML page. Let me open up the console. And I'm going to dock that at the bottom. Now first thing we want to do, I'm going to open up the HTML page so you can see what we're after. First thing we're going to do is we're going to use query selector.

Many times, you're using query selector all because it just likes everything you want. But there may be situations where you just want the first one encounters. We're going to use query selector all and we're going to look for a span tag that also has a class of bullet blue. So we would do it this way. document dot query selector. And then inside of parentheses, and inside of quotes, we are going to do span dot.

Bulla blue without a space So when we don't have a space, it indicates that the tag must also have that class. press return display node. And there's our first span tag See, lights up as the first one there. It grabbed the first one. Now let's do the same command. But let's do it with query selector, all return display node.

And now we have an array and we have all three span tags because they all three, have the class bullet blue. Let's do another query selector. And this is a good example of when you will use a query a query selector because we are looking for a single ID the idea Is b1. Now remember when we're indicating an ID, we have to put the hash in front. Press return. And now list one does not return an array.

So I can immediately begin working on that node, I can chain, make changes to it, etc, as we've done in previous videos. going to do a clear so we can clear the console. Now, we will do a query selector all. Another example using h ones. And this time, we're going to do a query selector all of div tags that have a child that is h1. So if we look at the HTML, here's the div tag.

And yes, there is a child of h1. Notice there's another div tag. If there were an H one Beneath that, he would find that as well. In fact, let's just test that out. Let's put an h1 and then let's put an h1 inside of this oil tag. Now this one It shouldn't get because it's not a child of a div tag, it's a child of the oil tag, the ordered list tag.

Okay, I'm gonna save that jump back out. And I'm going to refresh this page. So we have those three h ones in here. My command is still here because I hadn't press return. Now I press return. Let's see what we get h ones.

And notice we picked up two h ones. This one and this one. We did not get the third because it is not a child of a div tag. All right, let me remove those H ones. Save that and refresh our page. All right, one more example, I want to do an example of where you can indicate more than one CSS selector and you do that by separating them with a comma.

So let's do var group equals document dot query selector all. And then inside the parentheses and inside of quotes, I have Li, and span. So this is going to pick up all of the Li tags, and all of the span tags and return it in an array. So let's see how that works. press return type in group. Let's see what we've got here.

So here's an Li tag, an Li tag, another Li tag. Here's a span tag, another Li tag, span tagging can see them highlighting on HTML page, a bomb as I mouse over them. So we can See that that selected both criteria, a selected the Li tag and the span tag. Now that criteria could be more involved query selector as well, it doesn't have to be a single tag or a single ID. You could do the same type of query selectors as, as we did in some previous examples. These two commands are probably used the most frequently for selecting items in the DOM so that you can manipulate them.

So very important to know these. If you aren't familiar with CSS, I would encourage you to learn CSS if you're going to be working with the DOM much at all, as a JavaScript developer is important to know HTML and CSS. So you may want to spend some time on those topics. And learning CSS selectors will lend itself to you using query selector and query selector all let's move on to the next topic.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.