<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Is Your JavaScript Library Standards Compliant?</title>
	<atom:link href="http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/</link>
	<description>News, opinion, and fresh thinking for web developers and designers. The official podcast of sitepoint.com.</description>
	<lastBuildDate>Sat, 20 Mar 2010 01:01:18 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: 鱼排</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-802986</link>
		<dc:creator>鱼排</dc:creator>
		<pubDate>Fri, 03 Oct 2008 13:28:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-802986</guid>
		<description>Can you tell how to highlight the code?

You can find me &lt;a href=&quot;http://blog.fin9.com&quot; rel=&quot;nofollow&quot;&gt;here.&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Can you tell how to highlight the code?</p>
<p>You can find me <a href="http://blog.fin9.com" rel="nofollow">here.</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: pd</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-756873</link>
		<dc:creator>pd</dc:creator>
		<pubDate>Mon, 07 Jul 2008 01:37:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-756873</guid>
		<description>if JS library authors want to support standards &lt;strong&gt;and then some&lt;/strong&gt;, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.

There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). 

We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is &lt;code&gt;border-radius&lt;/code&gt;? Where is &lt;code&gt;  support&lt;/code&gt;?</description>
		<content:encoded><![CDATA[<p>if JS library authors want to support standards <strong>and then some</strong>, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.</p>
<p>There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). </p>
<p>We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is <code>border-radius</code>? Where is <code>  support</code>?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-756871</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 07 Jul 2008 01:36:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-756871</guid>
		<description>if JS library authors want to support standards &lt;strong&gt;and then some&lt;/strong&gt;, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.

There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). 

We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is &lt;code&gt;border-radius&lt;/code&gt;? Where is &lt;code&gt;  support&lt;/code&gt;?</description>
		<content:encoded><![CDATA[<p>if JS library authors want to support standards <strong>and then some</strong>, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.</p>
<p>There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). </p>
<p>We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is <code>border-radius</code>? Where is <code>  support</code>?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: raymond</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-721199</link>
		<dc:creator>raymond</dc:creator>
		<pubDate>Tue, 13 May 2008 01:23:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-721199</guid>
		<description>Hi,

IMO the libraries take make the best of both worlds. For extended css selectors javascript will be used for standard css selectors the new api can be used.

So either way it&#039;s a win-win.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>IMO the libraries take make the best of both worlds. For extended css selectors javascript will be used for standard css selectors the new api can be used.</p>
<p>So either way it&#8217;s a win-win.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: solidhex</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-721128</link>
		<dc:creator>solidhex</dc:creator>
		<pubDate>Mon, 12 May 2008 22:15:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-721128</guid>
		<description>@rimmer33

In jQuery you don&#039;t even need the each, could just do
&lt;code&gt;$(&#039;a[rel~=external]&#039;).click(function(e){
		open(this.href);
		e.preventDefault();
	});
&lt;/code&gt;

:)</description>
		<content:encoded><![CDATA[<p>@rimmer33</p>
<p>In jQuery you don&#8217;t even need the each, could just do<br />
<code>$('a[rel~=external]').click(function(e){
		open(this.href);
		e.preventDefault();
	});
</code></p>
<p>:)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: rimmer33</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720789</link>
		<dc:creator>rimmer33</dc:creator>
		<pubDate>Mon, 12 May 2008 07:56:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720789</guid>
		<description>First jQuery example is kinda lame :) Nobody in jQuery world would do so. We do &lt;code&gt;$(&#039;our selector&#039;).each(function(){here goes our stuff for each element})&lt;/code&gt; or even more simple if it is all about to delegate an event on each element.

And about selectors: if JavaScript was emerged to browsers only for sake of doing what ony those particular browsers can do, there wouldn&#039;t be so much hype about that. JavaScript &lt;em&gt;extends&lt;/em&gt; browser capabilities, nothing less. Why should we care if IE supports CSS3 selectors API, if we use a selected cross-browser JS library. It was written to extend the possibilities, not to wrap them in yet another layer. So, I use what I use, take benefit of it&#039;s powers and don&#039;t care if it is standard in any part. It just works. It&#039;s a job of library author to follow standards in his code, not mine, I follow standards only in my part. &lt;em&gt;Separation&lt;/em&gt; that is. Good practice, I think.</description>
		<content:encoded><![CDATA[<p>First jQuery example is kinda lame :) Nobody in jQuery world would do so. We do <code>$('our selector').each(function(){here goes our stuff for each element})</code> or even more simple if it is all about to delegate an event on each element.</p>
<p>And about selectors: if JavaScript was emerged to browsers only for sake of doing what ony those particular browsers can do, there wouldn&#8217;t be so much hype about that. JavaScript <em>extends</em> browser capabilities, nothing less. Why should we care if IE supports CSS3 selectors API, if we use a selected cross-browser JS library. It was written to extend the possibilities, not to wrap them in yet another layer. So, I use what I use, take benefit of it&#8217;s powers and don&#8217;t care if it is standard in any part. It just works. It&#8217;s a job of library author to follow standards in his code, not mine, I follow standards only in my part. <em>Separation</em> that is. Good practice, I think.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720757</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Mon, 12 May 2008 05:50:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720757</guid>
		<description>@asp_funda: your info. about dojo is far outdated.  While your comments may have been true for Dojo 0.4, more recent versions of Dojo are extremely competitive in size and performance with Prototype and jQuery, and outperform most toolkits it the selectors SlickSpeed tests.  It seems a bit odd to complain about incorrect info. with incorrect info.  The Dojo of today is fast... if you don&#039;t believe me, check it out.

What Alex was saying is that by only supporting valid selectors, it&#039;s a lot easier to flip the switch from custom to native selector engines, without having to fork based on each selector, which helps keep code lean and concise.  But complaining about Alex&#039;s explanation for why Dojo chooses to do this, because of the way the author created this story is a bit unfair to Alex.  He was simply explaining why Dojo took this route (to make it easier to support the coming native engines).</description>
		<content:encoded><![CDATA[<p>@asp_funda: your info. about dojo is far outdated.  While your comments may have been true for Dojo 0.4, more recent versions of Dojo are extremely competitive in size and performance with Prototype and jQuery, and outperform most toolkits it the selectors SlickSpeed tests.  It seems a bit odd to complain about incorrect info. with incorrect info.  The Dojo of today is fast&#8230; if you don&#8217;t believe me, check it out.</p>
<p>What Alex was saying is that by only supporting valid selectors, it&#8217;s a lot easier to flip the switch from custom to native selector engines, without having to fork based on each selector, which helps keep code lean and concise.  But complaining about Alex&#8217;s explanation for why Dojo chooses to do this, because of the way the author created this story is a bit unfair to Alex.  He was simply explaining why Dojo took this route (to make it easier to support the coming native engines).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Yank</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720518</link>
		<dc:creator>Kevin Yank</dc:creator>
		<pubDate>Sun, 11 May 2008 20:33:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720518</guid>
		<description>kangax,

&lt;blockquote&gt;1) I don&#039;t understand the promotion of using for/in for array enumeration.&lt;/blockquote&gt;

You’re absolutely right, and I’ve amended the code to use &lt;code&gt;for&lt;/code&gt; loops instead.

&lt;blockquote&gt;2) Redeclaring variables in each iteration is quite redundant.&lt;/blockquote&gt;

This causes no overhead, and keeps the code tidy.

&lt;blockquote&gt;3) &lt;code&gt;href != null&lt;/code&gt; is redundant as well.&lt;/blockquote&gt;

Not so. In Internet Explorer, an &lt;code&gt;&lt;a name=&quot;…&quot;&gt;&lt;/code&gt; tag’s &lt;code&gt;href&lt;/code&gt; property is &lt;code&gt;undefined&lt;/code&gt;, while all other browsers return an empty string. A &lt;code&gt;typeof&lt;/code&gt; check is therefore inadequate.

&lt;blockquote&gt;4) &quot;[href]&quot; selector matches empty attributes, so there&#039;s no need to test for &lt;code&gt;length &gt; 0&lt;/code&gt;&lt;/blockquote&gt;

I don’t know what you mean here. The test for &lt;code&gt;href.length &gt; 0&lt;/code&gt; doesn’t appear in the same example as the &lt;code&gt;[href]&lt;/code&gt; selector.

&lt;blockquote&gt;4) &lt;code&gt;rel != null &amp;&amp; /(^&#124; )external( &#124;$)/.test(rel)&lt;/code&gt; could be replaced with &lt;code&gt;/external/.test(rel)&lt;/code&gt; as &quot;test&quot; works just fine with any falsy values.&lt;/blockquote&gt;

The &lt;code&gt;rel&lt;/code&gt; attribute is a space-separated list of values. Thus the need for the more complicated regular expression.</description>
		<content:encoded><![CDATA[<p>kangax,</p>
<blockquote><p>1) I don&#8217;t understand the promotion of using for/in for array enumeration.</p></blockquote>
<p>You’re absolutely right, and I’ve amended the code to use <code>for</code> loops instead.</p>
<blockquote><p>2) Redeclaring variables in each iteration is quite redundant.</p></blockquote>
<p>This causes no overhead, and keeps the code tidy.</p>
<blockquote><p>3) <code>href != null</code> is redundant as well.</p></blockquote>
<p>Not so. In Internet Explorer, an <code>&lt;a name="…"&gt;</code> tag’s <code>href</code> property is <code>undefined</code>, while all other browsers return an empty string. A <code>typeof</code> check is therefore inadequate.</p>
<blockquote><p>4) &#8220;[href]&#8221; selector matches empty attributes, so there&#8217;s no need to test for <code>length &gt; 0</code></p></blockquote>
<p>I don’t know what you mean here. The test for <code>href.length &gt; 0</code> doesn’t appear in the same example as the <code>[href]</code> selector.</p>
<blockquote><p>4) <code>rel != null &amp;&amp; /(^| )external( |$)/.test(rel)</code> could be replaced with <code>/external/.test(rel)</code> as &#8220;test&#8221; works just fine with any falsy values.</p></blockquote>
<p>The <code>rel</code> attribute is a space-separated list of values. Thus the need for the more complicated regular expression.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: mattymcg</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720267</link>
		<dc:creator>mattymcg</dc:creator>
		<pubDate>Sun, 11 May 2008 11:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720267</guid>
		<description>Harald wrote:

&lt;blockquote&gt;Wow, the worst post about JavaScript I saw in a long time. I use MooTools, I love JavaScript code, but what you wrote here is blasphemy. Its not only bad code but bad advices. Read &lt;a href=&quot;http://streetteam.webstandards.org/goodbooks/&quot; rel=&quot;nofollow&quot;&gt;better books&lt;/a&gt; about DOM Scripting.&lt;/blockquote&gt;

I have to laugh at this comment. Harald you do actually realise that Kevin WROTE &lt;a href=&quot;http://www.sitepoint.com/books/javascript1/&quot; rel=&quot;nofollow&quot;&gt;one of the books on that list&lt;/a&gt;? :-D</description>
		<content:encoded><![CDATA[<p>Harald wrote:</p>
<blockquote><p>Wow, the worst post about JavaScript I saw in a long time. I use MooTools, I love JavaScript code, but what you wrote here is blasphemy. Its not only bad code but bad advices. Read <a href="http://streetteam.webstandards.org/goodbooks/" rel="nofollow">better books</a> about DOM Scripting.</p></blockquote>
<p>I have to laugh at this comment. Harald you do actually realise that Kevin WROTE <a href="http://www.sitepoint.com/books/javascript1/" rel="nofollow">one of the books on that list</a>? :-D</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Sorccu</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719690</link>
		<dc:creator>Sorccu</dc:creator>
		<pubDate>Sat, 10 May 2008 13:28:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719690</guid>
		<description>solidhex:

I was just pointing out how things are. for .. in does not work the way it&#039;s been used in the post. Clearly the author didn&#039;t even bother testing anything. I find it most unfortunate that SitePoint&#039;s once top-quality blogs have become like this.</description>
		<content:encoded><![CDATA[<p>solidhex:</p>
<p>I was just pointing out how things are. for .. in does not work the way it&#8217;s been used in the post. Clearly the author didn&#8217;t even bother testing anything. I find it most unfortunate that SitePoint&#8217;s once top-quality blogs have become like this.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: asp_funda</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719597</link>
		<dc:creator>asp_funda</dc:creator>
		<pubDate>Sat, 10 May 2008 07:37:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719597</guid>
		<description>Kevin, aren&#039;t all Javascript libaries today used majorly for functionalities that browsers by default don&#039;t provide? Isn&#039;t depending on browsers the reason which kept Rich User Interfaces and interactive applications in Javascript away from users for 7-8 years before they were actually put in mass use? IE introduced it 10 years back &amp; the other browsers didn&#039;t implement it for the next 7-8 years, else imagine what the scene would&#039;ve been of the web had these RUI&#039;s came out 10 years ago!

So I don&#039;t understand what exactly Dojo’s Alex Russell mean to say! Did he mean that making a check in the javascript function to see if the browser by default supports selector query or not is impossible or too hard? Did he mean that its impossible to check if browser supports the functionality natively or not &amp; then use browser&#039;s call(if it supports) else use the library&#039;s own engine! If he means that then I think that&#039;s enough said &amp; I will not consider Dojo at all if these kind of developers make that framework!

I think what he skipped over is that the reason why people like prototype &amp; jQuery etc. is that these are quite lightweight &amp; by default come as no-frills libraries! The developer working on them can then add on top of them whatever frills (s)he wants but Dojo is one beast that&#039;s quite slow &amp; comes with all the bells &amp; whistles by default that not everyone might want!!</description>
		<content:encoded><![CDATA[<p>Kevin, aren&#8217;t all Javascript libaries today used majorly for functionalities that browsers by default don&#8217;t provide? Isn&#8217;t depending on browsers the reason which kept Rich User Interfaces and interactive applications in Javascript away from users for 7-8 years before they were actually put in mass use? IE introduced it 10 years back &amp; the other browsers didn&#8217;t implement it for the next 7-8 years, else imagine what the scene would&#8217;ve been of the web had these RUI&#8217;s came out 10 years ago!</p>
<p>So I don&#8217;t understand what exactly Dojo’s Alex Russell mean to say! Did he mean that making a check in the javascript function to see if the browser by default supports selector query or not is impossible or too hard? Did he mean that its impossible to check if browser supports the functionality natively or not &amp; then use browser&#8217;s call(if it supports) else use the library&#8217;s own engine! If he means that then I think that&#8217;s enough said &amp; I will not consider Dojo at all if these kind of developers make that framework!</p>
<p>I think what he skipped over is that the reason why people like prototype &amp; jQuery etc. is that these are quite lightweight &amp; by default come as no-frills libraries! The developer working on them can then add on top of them whatever frills (s)he wants but Dojo is one beast that&#8217;s quite slow &amp; comes with all the bells &amp; whistles by default that not everyone might want!!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: kangax</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719504</link>
		<dc:creator>kangax</dc:creator>
		<pubDate>Sat, 10 May 2008 02:26:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719504</guid>
		<description>Huh?

1) I don&#039;t understand the promotion of using for/in for array enumeration.
2) Redeclaring variables in each iteration is quite redundant.
3) &lt;code&gt;href != null&lt;/code&gt; is redundant as well.
4) &quot;[href]&quot; selector matches empty attributes, so there&#039;s no need to test for &lt;code&gt;length &gt; 0&lt;/code&gt;
4) &lt;code&gt;rel != null &amp;&amp; /(^&#124; )external( &#124;$)/.test(rel)&lt;/code&gt; could be replaced with &lt;code&gt;/external/.test(rel)&lt;/code&gt; as &quot;test&quot; works just fine with any falsy values.

I don&#039;t mean to sound offensive, but giving such examples to novice javascripters doesn&#039;t sound like a good idea.

&lt;code&gt;
for (var anchors = document.getElementsByTagName(&#039;a&#039;), i=0, l=anchors.length; i&lt;l; i++) {
  if (typeof anchors[i].getAttribute(&#039;href&#039;) == &#039;string&#039; &amp;&amp; /external/.test(anchors[i].getAttribute(&#039;rel&#039;))) {
    ...
  }
}
&lt;/code&gt;

Cheers,
kangax</description>
		<content:encoded><![CDATA[<p>Huh?</p>
<p>1) I don&#8217;t understand the promotion of using for/in for array enumeration.<br />
2) Redeclaring variables in each iteration is quite redundant.<br />
3) <code>href != null</code> is redundant as well.<br />
4) &#8220;[href]&#8221; selector matches empty attributes, so there&#8217;s no need to test for <code>length &gt; 0</code><br />
4) <code>rel != null &amp;&amp; /(^| )external( |$)/.test(rel)</code> could be replaced with <code>/external/.test(rel)</code> as &#8220;test&#8221; works just fine with any falsy values.</p>
<p>I don&#8217;t mean to sound offensive, but giving such examples to novice javascripters doesn&#8217;t sound like a good idea.</p>
<code>
for (var anchors = document.getElementsByTagName('a'), i=0, l=anchors.length; i&lt;l; i++) {
  if (typeof anchors[i].getAttribute('href') == 'string' &amp;&amp; /external/.test(anchors[i].getAttribute('rel'))) {
    ...
  }
}
</code>
<p>Cheers,<br />
kangax</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Joan Molina</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719288</link>
		<dc:creator>Joan Molina</dc:creator>
		<pubDate>Fri, 09 May 2008 18:12:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719288</guid>
		<description>Well, if a browser still does not support a CSS feature surely Javascript libraries should provide a way to support it. But once the browser supports it, a Javascript library should be rewritten so as to adapt the new feature into its code. Therefore, we, developers, need not worry about these things. Keep the code as it is.

It&#039;s a similar situation as forgetting about browser sniffing when coding. That annoying question is hardcoded into the Javascript library. No problem.</description>
		<content:encoded><![CDATA[<p>Well, if a browser still does not support a CSS feature surely Javascript libraries should provide a way to support it. But once the browser supports it, a Javascript library should be rewritten so as to adapt the new feature into its code. Therefore, we, developers, need not worry about these things. Keep the code as it is.</p>
<p>It&#8217;s a similar situation as forgetting about browser sniffing when coding. That annoying question is hardcoded into the Javascript library. No problem.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: solidhex</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719287</link>
		<dc:creator>solidhex</dc:creator>
		<pubDate>Fri, 09 May 2008 18:07:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719287</guid>
		<description>@Sorccu


Did you include the libraries he&#039;s referring to and wrap the code into a function to run on page load?


The only thing I would say is be careful when using for..in loops as they don&#039;t work as you expect on arrays. I am sure Kevin knows this, but non-experts may not :)</description>
		<content:encoded><![CDATA[<p>@Sorccu</p>
<p>Did you include the libraries he&#8217;s referring to and wrap the code into a function to run on page load?</p>
<p>The only thing I would say is be careful when using for..in loops as they don&#8217;t work as you expect on arrays. I am sure Kevin knows this, but non-experts may not :)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719252</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 09 May 2008 16:09:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719252</guid>
		<description>I use jQuery, and I&#039;m glad that I do, I have no problems with any of the other JS Libraries out there, its just that personally I prefer jQuery.

Should these libraries limit themselves to standards compliance? No. Should they embrace and extend standards? Certainly.

I agree with Jon, how is this going too far? If you take a look back at the history of the internet its chock-full of people pushing the edge, going beyond the standards.

JavaScript originally was only a Netscape thing, now its grown to something that all major browsers, and quite a few non-major browsers, support.

10 yrs ago, Flash was virtually unheard of, look at it now.

I say, let them add extra selectors, let them help to make our jobs easier. Each browser has its own set of extras, IE supports &#039;&lt;!--[if IE]&gt; IE Specific Code Here&lt;![endif]--&gt;&#039;, Mozilla ignores it, Mozilla has a few extra CSS goodies as well &#039;-moz-box-sizing&#039; for instance, while IE ignores it.

&quot;Obviously, when browsers support the Selectors API (Safari and IE8 beta 1 already do!), their native implementations will run faster than anything a JavaScript library can do.&quot;
Will they support it fully? They still haven&#039;t caught up with CSS2 and CSS3 is in the works. Will they run those selectors faster? Maybe, but they are becoming so bloated that I&#039;m surprised if they run anything faster.

Fully supporting standards is one thing, limiting yourself to them is another thing altogether.</description>
		<content:encoded><![CDATA[<p>I use jQuery, and I&#8217;m glad that I do, I have no problems with any of the other JS Libraries out there, its just that personally I prefer jQuery.</p>
<p>Should these libraries limit themselves to standards compliance? No. Should they embrace and extend standards? Certainly.</p>
<p>I agree with Jon, how is this going too far? If you take a look back at the history of the internet its chock-full of people pushing the edge, going beyond the standards.</p>
<p>JavaScript originally was only a Netscape thing, now its grown to something that all major browsers, and quite a few non-major browsers, support.</p>
<p>10 yrs ago, Flash was virtually unheard of, look at it now.</p>
<p>I say, let them add extra selectors, let them help to make our jobs easier. Each browser has its own set of extras, IE supports &#8216;<!--[if IE]&gt; IE Specific Code Here&lt;![endif]-->&#8216;, Mozilla ignores it, Mozilla has a few extra CSS goodies as well &#8216;-moz-box-sizing&#8217; for instance, while IE ignores it.</p>
<p>&#8220;Obviously, when browsers support the Selectors API (Safari and IE8 beta 1 already do!), their native implementations will run faster than anything a JavaScript library can do.&#8221;<br />
Will they support it fully? They still haven&#8217;t caught up with CSS2 and CSS3 is in the works. Will they run those selectors faster? Maybe, but they are becoming so bloated that I&#8217;m surprised if they run anything faster.</p>
<p>Fully supporting standards is one thing, limiting yourself to them is another thing altogether.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719208</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 09 May 2008 13:57:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719208</guid>
		<description>The omission of mootools and prototype from the list of popular frameworks is... well, unfortunate. On the matter of standards compliance, I disagree. JavaScript exists to make browsers do what they couldn&#039;t with HTML and CSS alone. It&#039;s purpose is to broaden the browser&#039;s capability. Sure, just like everything else, it can be abused. But the functionality isn&#039;t by itself counter-productive to the aim of standards compliance.</description>
		<content:encoded><![CDATA[<p>The omission of mootools and prototype from the list of popular frameworks is&#8230; well, unfortunate. On the matter of standards compliance, I disagree. JavaScript exists to make browsers do what they couldn&#8217;t with HTML and CSS alone. It&#8217;s purpose is to broaden the browser&#8217;s capability. Sure, just like everything else, it can be abused. But the functionality isn&#8217;t by itself counter-productive to the aim of standards compliance.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Harald</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719207</link>
		<dc:creator>Harald</dc:creator>
		<pubDate>Fri, 09 May 2008 13:56:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719207</guid>
		<description>Wow, the worst post about JavaScript I saw in a long time. I use MooTools, I love JavaScript code, but what you wrote here is blasphemy. Its not only bad code but bad advices. Read &lt;a href=&quot;http://streetteam.webstandards.org/goodbooks/&quot; rel=&quot;nofollow&quot;&gt;better books&lt;/a&gt; about DOM Scripting.</description>
		<content:encoded><![CDATA[<p>Wow, the worst post about JavaScript I saw in a long time. I use MooTools, I love JavaScript code, but what you wrote here is blasphemy. Its not only bad code but bad advices. Read <a href="http://streetteam.webstandards.org/goodbooks/" rel="nofollow">better books</a> about DOM Scripting.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Stuart</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719173</link>
		<dc:creator>Stuart</dc:creator>
		<pubDate>Fri, 09 May 2008 12:26:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719173</guid>
		<description>Safari and IE8 already support these selectors - I&#039;m curious though, do both of them already support them in an identical way that doesn&#039;t require any changes at all in syntax, hacks or workarounds to get one script working in both browsers? Something that&#039;s going to let me not to go mad by keeping every different type of browser open while I write the code and testing every line I write as I go in each separate browser?

Because that&#039;s what jQ does for me... if what you&#039;re saying is that IE8 and Safari are now totally and harmonically compatible between each other as regards javascript interpretation, then I guess soon I won&#039;t need to use it any more.</description>
		<content:encoded><![CDATA[<p>Safari and IE8 already support these selectors &#8211; I&#8217;m curious though, do both of them already support them in an identical way that doesn&#8217;t require any changes at all in syntax, hacks or workarounds to get one script working in both browsers? Something that&#8217;s going to let me not to go mad by keeping every different type of browser open while I write the code and testing every line I write as I go in each separate browser?</p>
<p>Because that&#8217;s what jQ does for me&#8230; if what you&#8217;re saying is that IE8 and Safari are now totally and harmonically compatible between each other as regards javascript interpretation, then I guess soon I won&#8217;t need to use it any more.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Sorccu</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719149</link>
		<dc:creator>Sorccu</dc:creator>
		<pubDate>Fri, 09 May 2008 11:20:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719149</guid>
		<description>.. you do realise that none of your examples actually work, right?</description>
		<content:encoded><![CDATA[<p>.. you do realise that none of your examples actually work, right?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Garrick</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719116</link>
		<dc:creator>Garrick</dc:creator>
		<pubDate>Fri, 09 May 2008 09:57:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719116</guid>
		<description>I use mootools but have not checked if it&#039;s standards compliant.</description>
		<content:encoded><![CDATA[<p>I use mootools but have not checked if it&#8217;s standards compliant.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jon</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719111</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Fri, 09 May 2008 09:49:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719111</guid>
		<description>How on Earth is this going &quot;too far&quot;? Surely the whole point of script libraries is to extend the capabilities of the browser beyond what it natively supports, not just to wrap what is already there? So should I not use Mootools animations because they&#039;re not an implementation of a standard? Should I not write that javascript chess game until the W3C publishes a &lt;code&gt;&lt;chess&gt;&lt;/code&gt; tag? I&#039;m all for web standards, but to suggest that third party JS libraries must limit themselves merely to delivering standardised functionality is madness.</description>
		<content:encoded><![CDATA[<p>How on Earth is this going &#8220;too far&#8221;? Surely the whole point of script libraries is to extend the capabilities of the browser beyond what it natively supports, not just to wrap what is already there? So should I not use Mootools animations because they&#8217;re not an implementation of a standard? Should I not write that javascript chess game until the W3C publishes a <code>&lt;chess&gt;</code> tag? I&#8217;m all for web standards, but to suggest that third party JS libraries must limit themselves merely to delivering standardised functionality is madness.</p>]]></content:encoded>
	</item>
</channel>
</rss>
