<?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>さくらたんどっとびーず &#187; Zen Coding</title>
	<atom:link href="http://sakuratan.biz/archives/tag/zen-coding/feed" rel="self" type="application/rss+xml" />
	<link>http://sakuratan.biz</link>
	<description>モロモロ工事中です</description>
	<lastBuildDate>Sun, 25 Jun 2023 12:51:51 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Zen Coding Plugin for jQuery</title>
		<link>http://sakuratan.biz/archives/2394</link>
		<comments>http://sakuratan.biz/archives/2394#comments</comments>
		<pubDate>Thu, 22 Jul 2010 08:25:14 +0000</pubDate>
		<dc:creator>さくら</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Zen Coding]]></category>

		<guid isPermaLink="false">http://sakuratan.biz/?p=2394</guid>
		<description><![CDATA[jQuery Zen Coding Plugin を作ってみました。Zen Coding の書式から jQuery オブジェクトを作る感じのやつです。 とりあえずソースとかは http://sakuratan.biz/jquery/zencoding/ に置いてます。オリジナルの Zen Coding と同じで MIT ライセンスです。 使い方 var obj = $.zenCoding('div... <div style="margin-top:1ex"><a href="http://sakuratan.biz/archives/2394">(続きを読む)</a></div>]]></description>
			<content:encoded><![CDATA[<p>jQuery Zen Coding Plugin を作ってみました。Zen Coding の書式から jQuery オブジェクトを作る感じのやつです。</p>
<p>とりあえずソースとかは <a href="http://sakuratan.biz/jquery/zencoding/">http://sakuratan.biz/jquery/zencoding/</a> に置いてます。オリジナルの Zen Coding と同じで MIT ライセンスです。</p>
<h3>使い方</h3>
<pre>
var obj = $.zenCoding('div#page>div.logo+ul#navigation>li*5>a');
</pre>
<p>で、Zen Coding を展開した jQuery オブジェクトを返します。上の例ですと、</p>
<pre>
&lt;div id="page"&gt;
  &lt;div class="logo"&gt;&lt;/div&gt;
  &lt;ul id="navigation"&gt;
    &lt;li&gt;&lt;a&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>の構造を持った jQuery オブジェクトが返ってきます。jQuery オブジェクトってのは $(&#8216;#id&#8217;) とか呼び出した時に返ってくるやつのことす。$.zenCoding の戻り値を他の jQuery オブジェクトにそのまま引っ付けることができるって意味す。</p>
<pre>
var obj = $.zenCoding('div#page>div.logo+ul#navigation>li*5>a');
$('#replace').append(obj);
</pre>
<div style="margin:3em 0">
$.fn も extend してますので、上の例は以下のように書くこともできます。</p>
<pre>
$('#replace').zenCoding('div#page>div.logo+ul#navigation>li*5>a');
</pre>
<p>$.fn.zenCoding は Zen Coding を展開したオブジェクトを append します。中身無い状態で append してもあんまりうれしくないと思いますので、こっちはあんまり使い道無いと思います。
</p></div>
<div style="margin:3em 0">
Zen Coding 展開した結果をテキストで取得したい時は、resultType オプションを $.zenCoding につけて呼び出して下さい。</p>
<pre>
alert($.zenCoding('div#page>div.logo+ul#navigation>li*5>a',
      { resultType: 'text' }));
</pre>
<p>他にもオプションありますが、たぶんあんまり使い道無いと思います。詳しくは <a href="http://sakuratan.biz/jquery/zencoding/">http://sakuratan.biz/jquery/zencoding/</a> をどうぞ。
</div>
<h3>ほかの例</h3>
<p>もう少しややこしい感じのですと、ツイッターのタイムラインに埋め込むツイート部分を Zen Coding で書くとこんな感じになります。面倒くさくなってきたので ul の中身省略してます、サーセンw</p>
<pre style="white-space: normal">
$.zenCoding('li.status&gt;(span.thumb.vcard.author&gt;a.tweet-url&gt;img)+(span.status-body&gt;(span.status-content&gt;(strong+span.entry-content))+span.meta.entry-meta&gt;(a.entry-data+span))+ul.actions-hover+ul.meta-data.clearfix');
</pre>
<p>で、できあがるのはこんな感じの HTML。</p>
<pre>
&lt;li class="status"&gt;
  &lt;span class="thumb vcard author"&gt;
    &lt;a class="tweet-url"&gt;&lt;img src="" alt=""&gt;&lt;/a&gt;
  &lt;/span&gt;
  &lt;span class="status-body"&gt;
    &lt;span class="status-content"&gt;
      &lt;strong&gt;&lt;/strong&gt;
      &lt;span class="entry-content"&gt;&lt;/span&gt;
    &lt;/span&gt;
    &lt;span class="meta entry-meta"&gt;
      &lt;a class="entry-data"&gt;&lt;/a&gt;
      &lt;span&gt;&lt;/span&gt;
    &lt;/span&gt;
  &lt;/span&gt;
  &lt;ul class="actions-hover"&gt;&lt;/ul&gt;
  &lt;ul class="meta-data clearfix"&gt;&lt;/ul&gt;
&lt;/li&gt;
</pre>
<p>元の Zen Coding が長ったらしいんでかえってややこしい気がしますwww<br />
という感じですので、もうちょい小分けに使った方がよろしいんでは無いでしょうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://sakuratan.biz/archives/2394/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
