Blame view

node_modules/domhandler/readme.md 1.88 KB
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  #DOMHandler [![Build Status](https://secure.travis-ci.org/fb55/DomHandler.png)](http://travis-ci.org/fb55/DomHandler)
  
  The DOM handler (formally known as DefaultHandler) creates a tree containing all nodes of a page. The tree may be manipulated using the DOMUtils library.
  
  ##Usage
  ```javascript
  var handler = new DomHandler([ <func> callback(err, dom), ] [ <obj> options ]);
  // var parser = new Parser(handler[, options]);
  ```
  
  ##Example
  ```javascript
  var htmlparser = require("htmlparser2");
  var rawHtml = "Xyz <script language= javascript>var foo = '<<bar>>';< /  script><!--<!-- Waah! -- -->";
  var handler = new htmlparser.DomHandler(function (error, dom) {
      if (error)
      	[...do something for errors...]
      else
      	[...parsing done, do something...]
          console.log(dom);
  });
  var parser = new htmlparser.Parser(handler);
  parser.write(rawHtml);
  parser.done();
  ```
  
  Output:
  
  ```javascript
  [{
      data: 'Xyz ',
      type: 'text'
  }, {
      type: 'script',
      name: 'script',
      attribs: {
      	language: 'javascript'
      },
      children: [{
      	data: 'var foo = \'<bar>\';<',
      	type: 'text'
      }]
  }, {
      data: '<!-- Waah! -- ',
      type: 'comment'
  }]
  ```
  
  ##Option: ignoreWhitespace
  Indicates whether the DOM should exclude text nodes that consists solely of whitespace. The default value is "false". 
  
  The following HTML will be used:
  
  ```html
  <font>
  	<br>this is the text
  <font>
  ```
  
  ###Example: true
  
  ```javascript
  [{
      type: 'tag',
      name: 'font',
      children: [{
      	type: 'tag',
      	name: 'br'
      }, {
      	data: 'this is the text\n',
      	type: 'text'
      }, {
      	type: 'tag',
      	name: 'font'
      }]
  }]
  ```
  
  ###Example: false
  
  ```javascript
  [{
  	type: 'tag',
      name: 'font',
      children: [{
      	data: '\n\t',
      	type: 'text'
      }, {
      	type: 'tag',
      	name: 'br'
      }, {
      	data: 'this is the text\n',
      	type: 'text'
      }, {
      	type: 'tag',
      	name: 'font'
      }]
  }]
  ```