bndr/node-read — pull request #14 by Tjatse (2014-05-05 03:49:17+00:00)
Title: Critical Bug: compare two CHEERIO Object equal or not.

Hey, Vadim:
the method that comparing two cheerio object ***obj1 === obj2*** is totally wrong, you can take a test like below:

```javascript
var html = '

SAME

DIFF

';
var $ = cheerio.load(html);
var p = $('p.text');
p.parent().children().each(function(index, element){
var sibling = $(this);
console.log(sibling.text(), sibling.is(p), '.is()');
console.log(sibling.text(), sibling.get(0) === p.get(0), 'equal with .get(0)');
console.log(sibling.text(), sibling === p, 'equal with cheerio object');
});
```
and the console logs will be:
```javascript
SAME true .is()
SAME true equal with .get(0)
SAME false equal with cheerio object
DIFF false .is()
DIFF false equal with .get(0)
DIFF false equal with cheerio object
```
it means that you can not compare them with ***obj1 === obj2***, but ***obj1.get(0) === obj2.get(0)*** and ***obj1.is(obj2)*** are both fine.

as you known, in javascript, **===** means two objects are strictly equal if they refer to the same object. unfortunately, in Cheerio, two object does not have the same reference, even they have same innerHTML(WHY???)