<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
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/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>knallisworld &#187; javascript</title> <atom:link href="http://www.knallisworld.de/blog/tag/javascript/feed/" rel="self" type="application/rss+xml" /><link>http://www.knallisworld.de/blog</link> <description>Where is the beef?</description> <lastBuildDate>Thu, 02 Feb 2012 23:10:07 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>jQuery + IE = *würg*</title><link>http://www.knallisworld.de/blog/2008/08/13/jquery-ie-wtf/</link> <comments>http://www.knallisworld.de/blog/2008/08/13/jquery-ie-wtf/#comments</comments> <pubDate>Wed, 13 Aug 2008 18:37:04 +0000</pubDate> <dc:creator>knalli</dc:creator> <category><![CDATA[Technologie/IT]]></category> <category><![CDATA[Tipps]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[dom]]></category> <category><![CDATA[html]]></category> <category><![CDATA[ie]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[wtf]]></category> <category><![CDATA[xhtml]]></category> <guid
isPermaLink="false">http://www.knallisworld.de/blog/?p=468</guid> <description><![CDATA[Das Javascript-Framework jQuery hat einen kleinen, aber entscheidenen Bug &#8211; bzw. der Internet Explorer einschließlich 7 (8 ungetestet). Da aber beim Letzteren eh schon Hopfen und Malz verloren ist, schiebe ich es auf ein Fehlverhalten des entsprechenden jQuery-Core-Modules. Um dynamisch ein DIV-Element zu erzeugen, macht man in jQuery mit dem Core-Constructor folgendes: var jQueryElement = [...]]]></description> <content:encoded><![CDATA[<p>Das Javascript-Framework <a
href="http://www.jquery.com">jQuery</a> hat einen kleinen, aber entscheidenen Bug &#8211; bzw. der Internet Explorer einschließlich 7 (8 ungetestet). Da aber beim Letzteren eh schon Hopfen und Malz verloren ist, schiebe ich es auf ein Fehlverhalten des entsprechenden jQuery-Core-Modules.</p><p>Um dynamisch ein DIV-Element zu erzeugen, macht man in jQuery mit dem Core-Constructor folgendes:</p><blockquote><p>var jQueryElement = jQuery(&#8216;&lt;div&gt;&lt;/div&gt;&#8217;).text(&#8216;Text&#8217;);</p></blockquote><p>Natürlich kann man auch direkt &#8220;&lt;div/&gt;&#8221; verwenden.</p><p>Dies erzeugt ein jQuery-Element, in welchem das DOM-Element verpackt ist. Als Textknoten wird wie erwartet &#8220;Text&#8221; gespeichert. Davon kann man sich überzeugen, indem man ein</p><blockquote><p>jQueryElement.text()</p></blockquote><p>ausführt.</p><p>Auch wenn ich auf Anhieb in der offiziellen Dokumention (jQuery API) kein Beispiel zeigen kann, ist folgender Code prinzipiell auch erlaubt:</p><blockquote><p>var jQueryElement = jQuery(&#8216;&lt;div&gt;&#8217;).text(&#8216;Text&#8217;);</p></blockquote><p>Das &#8220;kaputte&#8221; XML bzw. HTML bzw. XHTML wird automatisch repariert.</p><p>Denkste &#8211; zwar funktioniert das auf allen Browsern, aber nicht im Internet Explorer. Tatsächlich scheint der Internet Explorer ausgerechnet hier nur valides XML zu erwarten.</p><p>Im IE erwartet uns das:</p><blockquote><p>jQuery(&#8216;&lt;div&gt;&#8217;).text(&#8216;Text&#8217;).length == 0</p></blockquote><p>Währenddessen uns Firefox korrekterweise</p><blockquote><p>jQuery(&#8216;&lt;div&gt;&#8217;).text(&#8216;Text&#8217;).length == 1</p></blockquote><p>eine 1 zurückgibt.</p><p>Korrekt in beiden:</p><blockquote><p>jQuery(&#8216;&lt;div/&gt;&#8217;).text(&#8216;Text&#8217;).length == 1</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://www.knallisworld.de/blog/2008/08/13/jquery-ie-wtf/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
