If <code>window</code> or <code>document</code> or other browser host objects are not defined, e.g. no DOM implementation – error raises will be all around. If jQuery used in xml document, there will be problems with trying to apply inline style to xml nodes, not with consequance of <code>innerHTML</code> creation.

So i'm getting confuse now, from what cases jQuery should "protect" itself and why jQuery need protection anyway?