死ぬほどはまった、XMLのタグ名に『:(コロン)』が使われていた場合の処理をメモ

くそぉ・・。
なぜこんな単純なことに時間を使ってしまったのか・・・。


XMLjQueryで処理して、fugafugaするサイトを作ろうとしてました。
XMLといっても、中身はrssなので、

<item>
<title>test</title>
<link>http://hoge</link>
<media:content url="http://www.hoge/test.jpg" />
<media:thumbnail url="http://www.hoge/test.jpg" />
<pubDate>Wed, 03 Jun 2009 19:52:20 GMT</pubDate>
</item>

こんなデータが10個ほど続くだけの単純なもの。


まぁ、いけるだろ、って思って始めたら、えらい苦労した・・・orz

『:(コロン)』はjQuery では、フィルタとして使われる。

jQueryでは、:はフィルタとして使われます。
例えばこんな感じ、

    $("#hoge:empty")

みたいな。


つまり、:を含むタグを指定しようとしても、フィルタとみなされて、見事にエラー・・・orz

エスケープせい

つまり

    $(this).find("media\:content").

こんな感じ。
えぇ〜〜〜い、、、、って、まだうごかないよ・・・・orz

本当はエスケープはこうですよ。
    $(this).find("media\\:content").

¥マーク2個なのね〜〜orz



jQuery、たまにはまるぜ、憎いヤツ。』

心の俳句。