くれすのFreeBSD日記 このページをアンテナに追加 RSSフィード

只今建設中。。。

CressUnix.org

2009年03月26日(木)もうすぐWEB屋卒業なのだけど

[] IEFirefoxで挙動の違う属性フィルタ 19:22  IEとFirefoxで挙動の違う属性フィルタ - くれすのFreeBSD日記 を含むブックマーク はてなブックマーク -  IEとFirefoxで挙動の違う属性フィルタ - くれすのFreeBSD日記

エレメントを作ったときの挙動が、IEFirefoxで異なる模様。

foo.xmlからデータを取得してimgエレメントを作成し、それをリンクにしてやるという、割とありがちな処理なのだが、

$(function() {
    $.get('foo.xml', false, function(data) {
        $('list', data).each(function() {
            $('<img width="98" style="float: left;" />').attr({
                src : $('src', this).text(),
                alt : $('alt', this).text()
            }).appendTo('#imageArea').wrap('<a href="#insertImage"></a>');
        });
        $('<br style="clear: left;" />').appendTo('#imageArea');

        $('a[href="#insertImage"]').click(function() {
            alert('にゃんにゃん');
            return false;
        });
    });
});

このとき、$('a[href="#insertImage"]') の部分がIEだと実行されない。

HTMLを表示してみてようやく原因が判明。

<A href="http://www.example.com/path/to/html#insertImage" jQuery1238062255062="null"> ... 省略 ... </A>
<a href="#insertImage"> ... 省略 ...</a>

IEだけ絶対URLになってるし!


IE爆発しろ!!もうやだIE……

危うくクロスブラウザ用のライブラリクロスブラウザでない処理を書くところだった。

トラックバック - http://freebsd.g.hatena.ne.jp/Cress/20090326