<?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>kamolog &#187; HTML, Javascript</title>
	<atom:link href="http://www.mkamo.org/blog/category/dev/html-javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mkamo.org/blog</link>
	<description>mkamo&#039;s blog ．．．．． mkamo&#039;s memo?</description>
	<lastBuildDate>Tue, 13 Jul 2010 12:07:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>id値に「.」が含まれている要素をCSSで選択する方法</title>
		<link>http://www.mkamo.org/blog/20090705/416.html</link>
		<comments>http://www.mkamo.org/blog/20090705/416.html#comments</comments>
		<pubDate>Sun, 05 Jul 2009 05:58:52 +0000</pubDate>
		<dc:creator>mkamo</dc:creator>
				<category><![CDATA[HTML, Javascript]]></category>

		<guid isPermaLink="false">http://www.mkamo.org/blog/20090705/416.html</guid>
		<description><![CDATA[HTML要素のid値に「.」が含まれているときに，CSSでその要素を選択する方法のメモ．
 
CSSで次の方法を使う．

IDセレクタのid値の指定で「.」を「\」でエスケープさせる 
属性セレクタでidを指定する 

 [...]]]></description>
			<content:encoded><![CDATA[<p>HTML要素のid値に「.」が含まれているときに，CSSでその要素を選択する方法のメモ．</p>
<p> <span id="more-416"></span>
<p>CSSで次の方法を使う．</p>
<ol>
<li>IDセレクタのid値の指定で「.」を「\」でエスケープさせる </li>
<li>属性セレクタでidを指定する </li>
</ol>
<p>以下，説明．</p>
<p>HTML4.01では要素のid属性の値を「アルファベット([A-Za-z])で開始し、任意の数のアルファベット、数字([0-9])、ハイフン(-)、アンダースコア(_)、コロン(:)、ピリオド(.)のみ」で記述できる．なので， </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:16f8360c-46b8-4d3f-b836-6df6af3b3e47" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter:nocontrols">&lt;div id="foo.bar"&gt;
hoge
&lt;/div&gt;
</pre>
</div>
<p>はHTML4.01のコードとして妥当で，「id属性の値が「foo.bar」であるdiv要素」となる．</p>
</p>
<p>しかし，CSS2.1ではHTMLで使用されるスタイルシートについては「.」はクラスセレクタと定義されている．CSSで上記のdiv要素を選択するつもりで </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:7c34beeb-c336-4df2-89b9-885abeeecf5a" class="wlWriterEditableSmartContent">
<pre name="code" class="css:nogutter:nocontrols">div#foo.bar {
	color: red;
}</pre>
</div>
<p>と指定すると，「id属性の値が「foo」で，class属性の値がスペースで区切ると「bar」と一致するものがあるdiv要素」，すなわち次のような要素の選択になってしまう． </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:1d7f180e-faae-4aee-aa92-20729bc7e19d" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter:nocontrols">&lt;div id="foo" class="bar baz"&gt;
hoge
&lt;/div&gt;
</pre>
</div>
</p>
<p>CSSで特別な意味を持つ文字を含むid値を持つ要素を選択する方法は以下のとおり．</p>
<ol>
<li>IDセレクタのid値の指定で「.」を「\」でエスケープさせる<br />CSSでは特別な意味を持つ文字を「\」でエスケープできる．「\」を使って「.」をエスケープした例は以下のとおり．
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:46b6b2e6-0ca3-455e-840e-e5fb8445e0da" class="wlWriterEditableSmartContent">
<pre name="code" class="css:nogutter:nocontrols">div#foo\.bar {
	color: red;
}</pre>
</div>
</li>
<li>属性セレクタでidを指定する<br />属性セレクタでid値を指定して要素を選択する．
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:daa6b00a-885d-4eb6-b611-42277b4b3cce" class="wlWriterEditableSmartContent">
<pre name="code" class="css:nogutter:nocontrols">div[id="foo.bar"] {
	color: red;
}
</pre>
</div>
<p>属性セレクタがIDセレクタより優先順位が低いことが問題になる場合は，「!import」を使う． </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b88d65a4-7dbd-404e-9d9c-d5a4e42f41cb" class="wlWriterEditableSmartContent">
<pre name="code" class="c#:nogutter:nocontrols">div[id="foo.bar"] {
	color: red !important;
}
</pre>
</div>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.mkamo.org/blog/20090705/416.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>複数のチェックボックスを選択するためのチェックボックス</title>
		<link>http://www.mkamo.org/blog/20090201/98.html</link>
		<comments>http://www.mkamo.org/blog/20090201/98.html#comments</comments>
		<pubDate>Sun, 01 Feb 2009 07:33:25 +0000</pubDate>
		<dc:creator>mkamo</dc:creator>
				<category><![CDATA[HTML, Javascript]]></category>

		<guid isPermaLink="false">http://www.mkamo.org/blog/20090201/98.html</guid>
		<description><![CDATA[複数のチェックボックスのcheckedを一気に更新するHTML &#38; Javascriptのサンプル．
 
チェックボックスのidやnameがばらばらでも大丈夫な例．

&#60;script type="text/ [...]]]></description>
			<content:encoded><![CDATA[<p>複数のチェックボックスのcheckedを一気に更新するHTML &amp; Javascriptのサンプル．</p>
<p> <span id="more-98"></span>
<p>チェックボックスのidやnameがばらばらでも大丈夫な例．</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:d7af5518-af4d-4b62-ae72-45a942853c40" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter:nocontrols">&lt;script type="text/javascript"&gt;
&lt;!--
    function checkAll(checkbox, targetIds) {
        var checked = checkbox.checked;
        for (i = 0; i &lt; targetIds.length; i++) {
			var target = document.getElementById(targetIds[i]);
	        target.checked = checked;
        }
    }
//--&gt;
&lt;/script&gt;

&lt;input type="checkbox" id="allCheck" onclick='checkAll(this, new Array("foo", "bar", "baz"));' /&gt;
&lt;label for="allCheck"&gt;すべて選択&lt;/label&gt;
&lt;br /&gt;

&lt;input type="checkbox" id="foo" name="foo" value="foo" /&gt;&lt;label for="foo"&gt;foo&lt;/label&gt;&lt;br /&gt;
&lt;input type="checkbox" id="bar" name="bar" value="bar" /&gt;&lt;label for="bar"&gt;bar&lt;/label&gt;&lt;br /&gt;
&lt;input type="checkbox" id="baz" name="baz" value="baz" /&gt;&lt;label for="baz"&gt;baz&lt;/label&gt;&lt;br /&gt;</pre>
</div>
<p>チェックボックスがたくさんあって上記のやり方では面倒な場合は，複数のチェックボックスをdivでくるんでおいてその子供を一気にcheckedを更新するのもありかも．以下はその例．</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:623cdf33-279d-4904-b5df-29cfbda9e035" class="wlWriterEditableSmartContent">
<pre name="code" class="xml:nogutter:nocontrols">&lt;script type="text/javascript"&gt;
&lt;!--
    function checkAll(checkbox, targetId) {
        var checked = checkbox.checked;
        var children = document.getElementById(targetId).childNodes;
        for (i = 0; i &lt; children.length; i++) {
			if (children[i].type == "checkbox") {
	            children[i].checked = checked;
			}
        }
    }
//--&gt;
&lt;/script&gt;

&lt;input type="checkbox" id="allCheck" onclick='checkAll(this, "checkboxes");' /&gt;
&lt;label for="allCheck"&gt;すべて選択&lt;/label&gt;
&lt;br /&gt;

&lt;div id="checkboxes"&gt;
	&lt;input type="checkbox" id="foo" name="foo" value="foo" /&gt;&lt;label for="foo"&gt;foo&lt;/label&gt;&lt;br /&gt;
	&lt;input type="checkbox" id="bar" name="bar" value="bar" /&gt;&lt;label for="bar"&gt;bar&lt;/label&gt;&lt;br /&gt;
	&lt;input type="checkbox" id="baz" name="baz" value="baz" /&gt;&lt;label for="baz"&gt;baz&lt;/label&gt;&lt;br /&gt;
&lt;/div&gt;</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mkamo.org/blog/20090201/98.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Maps APIの使い方</title>
		<link>http://www.mkamo.org/blog/20080428/36.html</link>
		<comments>http://www.mkamo.org/blog/20080428/36.html#comments</comments>
		<pubDate>Mon, 28 Apr 2008 09:12:36 +0000</pubDate>
		<dc:creator>mkamo</dc:creator>
				<category><![CDATA[HTML, Javascript]]></category>

		<guid isPermaLink="false">http://www.mkamo.org/blog/20080428/36.html</guid>
		<description><![CDATA[以下のサイトにサンプルがある．なかなか豊富でありがたい．

Google MAPS APIプログラミング

]]></description>
			<content:encoded><![CDATA[<p>以下のサイトにサンプルがある．なかなか豊富でありがたい．</p>
<ul>
<li><a href="http://www.geekpage.jp/web/google-maps-api/">Google MAPS APIプログラミング</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mkamo.org/blog/20080428/36.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
