jQueryを使用して画像マップを動的に作成しようとしていますが、奇妙な動作に遭遇しました。
alert( $('<area />').size() ); // 1
alert( $('<area shape="circle" />').size() ); // 0
alert( $('<area />').attr("shape", "circle").size() ); // 1
つまり、エリアタグを一度に作成することはできません。私が言うなら
$('<area shape="circle" coords="50,25,4" href="#" alt="foo" />')
その後、何も作成されません。ただし、徐々に実行すると機能します。たとえば、
$('<area />')
.attr("shape", "circle")
.attr("coords", "50,25,4")
.attr("href", "#")
.attr("alt", "foo");
これがなぜなのかわかりません。属性とコンテンツを使用して他のあらゆる種類の要素を作成できるからです。
$('<div id="foo" />')
$('<div id="bar">Hello World!</div>')
だから、なぜこれが機能しないのかはっきりしていません。への呼び出しを連鎖させることでそれを混乱させることができるので、これはそれほど重要ではありませんが、それはattr迷惑であり、この動作を理解したいと思います。