@@ -446,11 +446,7 @@ focused = document.hasFocus();
446
446
447
447
注意,有焦点的文档必定被激活(active),反之不成立,激活的文档未必有焦点。比如如果用户点击按钮,从当前窗口跳出一个新窗口,该新窗口就是激活的,但是不拥有焦点。
448
448
449
- ### querySelector(),getElementById(),querySelectorAll(),getElementsByTagName(),getElementsByClassName(),getElementsByName(),elementFromPoint()
450
-
451
- 以下方法用来选中当前文档中的元素。
452
-
453
- ** (1)querySelector()**
449
+ ### querySelector()
454
450
455
451
` querySelector ` 方法返回匹配指定的CSS选择器的元素节点。如果有多个节点满足匹配条件,则返回第一个匹配的节点。如果没有发现匹配的节点,则返回` null ` 。
456
452
@@ -461,26 +457,26 @@ var el2 = document.querySelector('#myParent > [ng-click]');
461
457
462
458
` querySelector ` 方法无法选中CSS伪元素。
463
459
464
- ** (2) getElementById()**
460
+ ### getElementById()
465
461
466
- ` getElementById ` 方法返回匹配指定ID属性的元素节点 。如果没有发现匹配的节点,则返回null 。
462
+ ` getElementById ` 方法返回匹配指定 ` id ` 属性的元素节点 。如果没有发现匹配的节点,则返回 ` null ` 。
467
463
468
464
``` javascript
469
- var elem = document .getElementById (" para1" );
465
+ var elem = document .getElementById (' para1' );
470
466
```
471
467
472
- 注意,在搜索匹配节点时,` id ` 属性是大小写敏感的。比如,如果某个节点的` id ` 属性是` main ` ,那么` document.getElementById(" Main" ) ` 将返回` null ` ,而不是指定节点。
468
+ 注意,在搜索匹配节点时,` id ` 属性是大小写敏感的。比如,如果某个节点的` id ` 属性是` main ` ,那么` document.getElementById(' Main' ) ` 将返回` null ` ,而不是指定节点。
473
469
474
- ` getElementById ` 方法与` querySelector ` 方法都能获取元素节点,不同之处是` querySelector ` 方法的参数使用CSS选择器语法,` getElementById ` 方法的参数是HTML标签元素的id属性 。
470
+ ` getElementById ` 方法与` querySelector ` 方法都能获取元素节点,不同之处是` querySelector ` 方法的参数使用CSS选择器语法,` getElementById ` 方法的参数是HTML标签元素的 ` id ` 属性 。
475
471
476
472
``` javascript
477
473
document .getElementById (' myElement' )
478
474
document .querySelector (' #myElement' )
479
475
```
480
476
481
- 上面代码中,两个方法都能选中id为myElement的元素,但是getElementById()比querySelector() 效率高得多。
477
+ 上面代码中,两个方法都能选中 ` id ` 为 ` myElement ` 的元素,但是 ` getElementById() ` 比 ` querySelector() ` 效率高得多。
482
478
483
- ** (3) querySelectorAll()**
479
+ ### querySelectorAll()
484
480
485
481
` querySelectorAll ` 方法返回匹配指定的CSS选择器的所有节点,返回的是NodeList类型的对象。NodeList对象不是动态集合,所以元素节点的变化无法实时反映在返回结果中。
486
482
@@ -499,7 +495,6 @@ var matches = document.querySelectorAll('div.note, div.alert');
499
495
querySelectorAll方法支持复杂的CSS选择器。
500
496
501
497
``` javascript
502
-
503
498
// 选中data-foo-bar属性等于someval的元素
504
499
document .querySelectorAll (' [data-foo-bar="someval"]' );
505
500
@@ -511,16 +506,15 @@ document.querySelectorAll('DIV:not(.ignore)');
511
506
512
507
// 同时选中div,a,script三类元素
513
508
document .querySelectorAll (' DIV, A, SCRIPT' );
514
-
515
509
```
516
510
517
511
如果` querySelectorAll ` 方法和` getElementsByTagName ` 方法的参数是字符串` * ` ,则会返回文档中的所有HTML元素节点。
518
512
519
513
与querySelector方法一样,querySelectorAll方法无法选中CSS伪元素。
520
514
521
- ** (4) getElementsByClassName()**
515
+ ### getElementsByClassName()
522
516
523
- getElementsByClassName方法返回一个类似数组的对象 (HTMLCollection类型的对象),包括了所有class名字符合指定条件的元素(搜索范围包括本身),元素的变化实时反映在返回结果中。这个方法不仅可以在document对象上调用,也可以在任何元素节点上调用。
517
+ ` document.getElementsByClassName ` 方法返回一个类似数组的对象 (HTMLCollection类型的对象),包括了所有class名字符合指定条件的元素(搜索范围包括本身),元素的变化实时反映在返回结果中。这个方法不仅可以在document对象上调用,也可以在任何元素节点上调用。
524
518
525
519
``` javascript
526
520
// document对象上调用
@@ -537,39 +531,39 @@ document.getElementsByClassName('red test');
537
531
538
532
上面代码返回class同时具有red和test的元素。
539
533
540
- ** (5) getElementsByTagName()**
534
+ ### getElementsByTagName()
541
535
542
- getElementsByTagName方法返回所有指定标签的元素 (搜索范围包括本身)。返回值是一个HTMLCollection对象 ,也就是说,搜索结果是一个动态集合,任何元素的变化都会实时反映在返回的集合中。这个方法不仅可以在document对象上调用 ,也可以在任何元素节点上调用。
536
+ ` document.getElementsByTagName ` 方法返回所有指定标签的元素 (搜索范围包括本身)。返回值是一个 ` HTMLCollection ` 对象 ,也就是说,搜索结果是一个动态集合,任何元素的变化都会实时反映在返回的集合中。这个方法不仅可以在 ` document ` 对象上调用 ,也可以在任何元素节点上调用。
543
537
544
538
``` javascript
545
- var paras = document .getElementsByTagName (" p " );
539
+ var paras = document .getElementsByTagName (' p ' );
546
540
```
547
541
548
- 上面代码返回当前文档的所有p元素节点 。
542
+ 上面代码返回当前文档的所有 ` p ` 元素节点 。
549
543
550
- 注意,getElementsByTagName方法会将参数转为小写后 ,再进行搜索。
544
+ 注意,` getElementsByTagName ` 方法会将参数转为小写后 ,再进行搜索。
551
545
552
- ** (6) getElementsByName()**
546
+ ### getElementsByName()
553
547
554
- getElementsByName方法用于选择拥有name属性的HTML元素,比如form、 img、 frame、embed和object,返回一个NodeList格式的对象,不会实时反映元素的变化 。
548
+ ` document.getElementsByName ` 方法用于选择拥有 ` name ` 属性的HTML元素(比如 ` <form> ` 、 ` < img> ` 、 ` < frame> ` 、 ` <embed> ` 和 ` <object> ` 等),返回一个类似数组的的对象( ` NodeList ` 对象的实例) 。
555
549
556
550
``` javascript
557
551
// 表单为 <form name="x"></form>
558
- var forms = document .getElementsByName (" x " );
552
+ var forms = document .getElementsByName (' x ' );
559
553
forms[0 ].tagName // "FORM"
560
554
```
561
555
562
- 注意,在IE浏览器使用这个方法,会将没有name属性、但有同名id属性的元素也返回,所以name和id属性最好设为不一样的值 。
556
+ 注意,` getElementsByName ` 返回的结果不会实时反映网页元素的变化 。
563
557
564
- ** (7) elementFromPoint()**
558
+ ### elementFromPoint()
565
559
566
- elementFromPoint方法返回位于页面指定位置的元素 。
560
+ ` document.elementFromPoint ` 方法返回位于页面指定位置的元素 。
567
561
568
562
``` javascript
569
563
var element = document .elementFromPoint (x, y);
570
564
```
571
565
572
- 上面代码中,elementFromPoint方法的参数x和y ,分别是相对于当前窗口左上角的横坐标和纵坐标,单位是CSS像素。elementFromPoint方法返回位于这个位置的DOM元素 ,如果该元素不可返回(比如文本框的滚动条),则返回它的父元素(比如文本框)。如果坐标值无意义(比如负值),则返回null 。
566
+ 上面代码中,` elementFromPoint ` 方法的参数 ` x ` 和 ` y ` ,分别是相对于当前窗口左上角的横坐标和纵坐标,单位是像素。 ` elementFromPoint ` 方法返回位于这个位置的DOM元素 ,如果该元素不可返回(比如文本框的滚动条),则返回它的父元素(比如文本框)。如果坐标值无意义(比如负值),则返回 ` null ` 。
573
567
574
568
### createElement(),createTextNode(),createAttribute(),createDocumentFragment()
575
569
0 commit comments