Jquery中$("#id")和document.getElementById("id")的区别

刚开始学习Jquery。遇到了一些困难。

我使用Jquery的$(“#id”)选择了<select>标签,然后用DOM的add方法插入<option>节点,失败,换用document.getElementByID就可以。一直以为Jquery的$方法返回的是DOM对象,搜索了一下才知道,原来是有差别的,看来是我看书的时候不认真造成的。

用Jquery选择的包装集返回的是Jquery对象,用document.getElementByID返回的却是DOM对象,既然对象不同,方法也就不能混用,所以我开始的时候使用add方法是没用的。这里有一篇文章详细讲解Jquery对象和DOM对象之间的转换。简单说来就是:Query对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)。

所以对于我遇到的问题,我只要使用$(“#id”)[0];就可以获得DOM对象了,就可以使用add方法了。

———————————update———————————————

用Jquery的时候,用.each()可以遍历包装集里面的DOM对象

试玩Android Live CD

LinuxTOY上看到Android出了Live CD,于是我就去下载下来,体验了一把。

下面是用VirtualBOX跑的Android的图片:

因为并不是个真正的电话,所以很多功能都无法使用,比如打电话,发短信,另外不能插SD卡,所以相册,MUSIC等都不能使用了。从使用中感觉浏览器很强大,打开网页很流畅,滚动也很流畅,当然这是跑在PC上,网络也是宽带。不知道在真正的Android上是个什么样子,目前买不起,囧。

urlencode和rawurlencode的区别以及url编码一些需要注意的地方。

PHP手册关于urlencode是这样写的:

Return Values

Returns a string in which all non-alphanumeric characters except -_. have been replaced with a percent (%) sign followed by two hex digits and spaces encoded as plus (+) signs. It is encoded the same way that the posted data from a WWW form is encoded, that is the same way as in application/x-www-form-urlencoded media type. This differs from the » RFC 1738 encoding (see rawurlencode()) in that for historical reasons, spaces are encoded as plus (+) signs.

简单的说来就是urlencode这个函数会把空格编码成‘+’.而rawurlencode会把空格编码为%20;

另外刚才遇到了一个事情耽误了我不少时间。对于不同的字符编码格式,encode后也会不同的,我是想解析一个url,然后就用来urldecode这个函数,解析出来‘%E6%88%90%E9%83%BD’这一窜字符为‘成都’,但是我用urlencode编码‘成都’却得到的是‘%B3%C9%B6%BC’。想来一会才觉得应该是编码的问题,我编码得到的一个汉字占领2个字节,而我原来解析的是一个字3个字节,这刚好是UTF-8编码和ASC编码的区别,原来是因为UltraEdit要另存为一次,才能把汉字转换成UTF-8编码,或者使用ANSI/ASC->UTF-8的功能。

现在另存为一次,选择UTF-8无BOM的编码后,可以成功的urlencode(‘成都’)为%E6%88%90%E9%83%BD了。

powerful-sleep里面的某点的翻译

昨天看powerful-sleep这本书,里面有个翻译,说床的功能,床是睡觉和做爱做的事情的地方,不要让它有其他功能。我就在想原文是个什么样子呢?我在网上搜了很久,没有下载到英文版,只能找到前两张的英文版,后面的找不到,就只好给翻译者发了个邮件,索取英文版,还好,jude比较热心,给了我英文版,对照了一下,见下图:

1

2