﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-chunkyo-Java技术-随笔分类-Ajax/JavaScript/Html/Css</title><link>http://www.blogjava.net/chunkyo/category/39710.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 24 Jun 2009 19:56:26 GMT</lastBuildDate><pubDate>Wed, 24 Jun 2009 19:56:26 GMT</pubDate><ttl>60</ttl><item><title>JavaScript/Js脚本处理html元素的自定义属性(兼容Firefox和IE)转载</title><link>http://www.blogjava.net/chunkyo/archive/2009/06/24/283870.html</link><dc:creator>chunkyo</dc:creator><author>chunkyo</author><pubDate>Wed, 24 Jun 2009 01:24:00 GMT</pubDate><guid>http://www.blogjava.net/chunkyo/archive/2009/06/24/283870.html</guid><wfw:comment>http://www.blogjava.net/chunkyo/comments/283870.html</wfw:comment><comments>http://www.blogjava.net/chunkyo/archive/2009/06/24/283870.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chunkyo/comments/commentRss/283870.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chunkyo/services/trackbacks/283870.html</trackback:ping><description><![CDATA[<p>HTML元素，属性已经十分丰富了。但是，在某些场合下，也会显得捉襟见肘，这时候<strong>自定义属性</strong>就发挥了十分关键的作用。</p>
<p>Html元素的自定义属性，使用起来，十分方便，例如：</p>
<p>&lt;input type=&#8221;button&#8221; value=&#8221;Click Me, Baby!&#8221; /&gt;</p>
<p><strong>假设我们现在需要限制，这个按钮，只能点击2次，然后就失效了。</strong></p>
<p>&nbsp;</p>
<p>通常的实现方式，是可以<em><strong>利用全局变量的形式</strong></em>来记录点击次数，但我们这里用<strong>自定义属性</strong>来实现这个功能，展示一下自定义属性的优势；我们对上面的button做一下改造：</p>
<p>&lt;input type=&#8221;button&#8221; value=&#8221;Click Me, Baby!&#8221; <font color="#0000ff">clickCount=&#8221;0&#8221;</font> /&gt;</p>
<p>可以看到，我为这个button 增加了一个自定义属性 <strong>clickCount</strong>， 并将初始值设为 0；下面我们来写实现功能的js代码：</p>
<p>1. 给 button 增加click事件的处理</p>
<p>&lt;input type=&#8221;button&#8221; value=&#8221;Click Me, Baby!&#8221; <font color="#0000ff">clickCount=&#8221;0&#8221;</font>&nbsp; onclick=&#8221;customAttributeDemo(this);" /&gt;</p>
<p>2. 我们来写 customAttributeDemo(obj) 这个函数</p>
<p>&nbsp;</p>
<p>对于IE来讲，使用自定义属性非常简单，因为IE自动将自定义属性解析到了DOM中，和标准属性没有任何区别，IE下的版本：</p>
<div class="wp_codebox">
<pre><span style="color: #0000ff;">function</span> customAttributeDemo(obj)<br />
{<br />
<span style="color: #0000ff;">if</span> (obj.clickCount === '0')<br />
{<br />
obj.clickCount = '1';<br />
}<br />
<span style="color: #0000ff;">else</span><br />
{<br />
obj.disabled = <span style="color: #0000ff;">true</span>;<br />
}<br />
}</pre>
</div>
<p>上面的代码在 FireFox 下将失效，因为FireFox对自定义属性的使用，限制更高，只能使用 attributes[] 集合来访问，FireFox 下的代码：</p>
<div class="wp_codebox">
<pre><span style="color: #0000ff;">function</span> customAttributeDemo(obj)<br />
{<br />
<span style="color: #0000ff;">if</span> (obj.attributes['clickCount'].nodeValue === '0')<br />
{<br />
obj.attributes['clickCount'].nodeValue = '1';<br />
}<br />
<span style="color: #0000ff;">else</span><br />
{<br />
obj.disabled = <span style="color: #0000ff;">true</span>;<br />
}<br />
}</pre>
</div>
<p>上面的代码，也适用于IE，所以，这个代码，就是具有兼容性的代码了，嘿嘿<img alt="" src="http://www.zu14.cn/coolemotion/emotions/hi_7.gif" /></p>
<p>&nbsp;</p>
<p>感谢小秦网友的交流，他给出了 getAttribute 和 setAttribute 的方法：</p>
<div class="wp_codebox">
<pre><span style="color: #0000ff;">function</span> customAttributeDemo(obj)<br />
{<br />
<span style="color: #0000ff;">if</span> (obj.getAttribute('clickCount') === '0')<br />
obj.setAttribute('clickCount', '1');<br />
<span style="color: #0000ff;">else</span><br />
obj.disabled = <span style="color: #0000ff;">true</span>;<br />
}</pre>
</div>
<br />
<script type="text/JavaScript">
alimama_pid="mm_11894160_1620769_5055716";
alimama_titlecolor="0000FF";
alimama_descolor ="000000";
alimama_bgcolor="FFFFFF";
alimama_bordercolor="E6E6E6";
alimama_linkcolor="008000";
alimama_bottomcolor="FFFFFF";
alimama_anglesize="0";
alimama_bgpic="0";
alimama_icon="0";
alimama_sizecode="14";
alimama_width=728;
alimama_height=90;
alimama_type=2;
</script>
<script src="http://a.alimama.cn/inf.js" type="text/javascript">
</script>
<img src="http://z.alimama.com/alimamal.php?i=mm_11894160_1620769_5055716&amp;w=728&amp;h=90&amp;re=1280x1024&amp;sz=14&amp;cg=f9371a9d9ae6b52980dcde58d814dbf1&amp;prm=82805140&amp;cas=prm&amp;cah=994&amp;caw=1280&amp;ccd=32&amp;ctz=8&amp;chl=1&amp;cja=1&amp;cpl=17&amp;cmm=61&amp;cf=9.0&amp;u=http%3A%2F%2Fwww.zu14.cn%2F2009%2F03%2F23%2Fjavascript-do-custom-html-attrib%2F&amp;r=&amp;sx=141&amp;sy=1711&amp;cbw=1263&amp;cbh=3755" name="alimamatmpf0.10532353963555852" id="alimamatmpf0.10532353963555852" style="border: 0px none ; margin: 0px; padding: 0px; width: 0px; height: 0px; vertical-align: baseline;" border="0"  alt="" />
<img src ="http://www.blogjava.net/chunkyo/aggbug/283870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chunkyo/" target="_blank">chunkyo</a> 2009-06-24 09:24 <a href="http://www.blogjava.net/chunkyo/archive/2009/06/24/283870.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML父窗体和子窗体之间数据的传送</title><link>http://www.blogjava.net/chunkyo/archive/2009/05/20/271817.html</link><dc:creator>chunkyo</dc:creator><author>chunkyo</author><pubDate>Wed, 20 May 2009 14:49:00 GMT</pubDate><guid>http://www.blogjava.net/chunkyo/archive/2009/05/20/271817.html</guid><wfw:comment>http://www.blogjava.net/chunkyo/comments/271817.html</wfw:comment><comments>http://www.blogjava.net/chunkyo/archive/2009/05/20/271817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chunkyo/comments/commentRss/271817.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chunkyo/services/trackbacks/271817.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最近项目涉及到在弹出窗口编辑数据,然后返回到父窗口,并在父窗口打开也能把数据初始化到子窗口中的功能;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面是涉及到的关键代码,记录下来以后可以用;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HTML父窗体和子窗体之间数据的传送;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. 父窗体father.html<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function openChild()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var o=; //获取父窗体的组件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var win=window.open(child.html);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; win.father_obj=o;//传给子窗口的对象<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function getChildData(obj){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. 子窗口child.html<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function getFatherData()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var data=window.father_obj;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function sendFatherData()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var obj=....;//获取子窗口对象&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; opener.&nbsp;getChildData(obj);//调用父窗口的函数进行传送;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; over....
<img src ="http://www.blogjava.net/chunkyo/aggbug/271817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chunkyo/" target="_blank">chunkyo</a> 2009-05-20 22:49 <a href="http://www.blogjava.net/chunkyo/archive/2009/05/20/271817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>