洋人绝不会因为我们割去发辫,穿上西装,就会对我们稍加尊敬的。我完全可以肯定,当我们中国人变成西化者洋鬼子时,欧美人只能对我们更加蔑视。事实上,只有当欧美人了解到真正的中国人——一种有着与他们截然不同却毫不逊色于他们文明的人民时,他们才会对我们有所尊重。
——辜鸿铭《在德不在辫》
在德不在辫
PHP中的jQuery:PHP Simple HTML DOM Parser
PHP Simple HTML DOM Parser可以用类似于jQuery的语法格式来查找和修改DOM代码,非常强大易用,对于不严谨的HTML码她也能正常解析。看看下面的这些代码,是不是觉得非常像jQuery:
// 创建DOM对象
$html = file_get_html('http://www.google.com/');
// 查找所有的链接,返回一个元素集合
$ret = $html->find('a');
// 返回第一个被查到的链接,如果没有找到会返回 null
$ret = $html->find('a', 0);
// 查找一个ID值为 foo 的元素
$ret = $html->find('#foo');
// 查找所有拥有 foo 样式名称的元素
$ret = $html->find('.foo');
// 查找所有a和img元素
$ret = $html->find('a,img');
// 查找所有在ul中的li
$ret = $html->find('ul li');
// 查找拥有样式名称为 hello 表格下的所有 td 元素
$es = $html->find('table.hello td');
// 查找拥有以 hello 开头的样式名称的 div 元素
$es = $html->find('div[class^="hello"]');
使用过jQuery的人应该对上面的代码风格感到非常亲切,PHP Simple HTML DOM Parser除了可以查找寻址DOM元素,还可以修改DOM,演示代码如下:
弱是罪恶
何以弱是罪恶?我以为弱的罪恶有三:第一就是贼天之性,对不起天赋的一切。第二就是连累他人。弱者要人照顾他,当心他,把许多向上有为的强者都拉下来。他不但自己不能创造,而且阻止别人的创造;不但自己不能生产,而且消耗别人的生产。第三就是纵容强者作恶。
……
强者的哲学,第一是接受生命,接受现实。第二是不倚赖。第三是接受痛苦,而且欢欢乐乐地接受痛苦。第四是勇敢地在危险中过生活。第五是威严的生,正义的怒。
——罗家伦《写给青年:我的新人生观演讲》
用JavaScript操作important样式
一般用JavaScript来控制元素样式的代码如下:
document.getElementById("someDom").style.color="#f00";
但对于已经设置了“important”属性样式的元素,这一句就起不了作用了,就必须用到另一个属性:cssText,代码如下:
document.getElementById("someDom").style.cssText="color:#f00 !important";
// 用jQuery更方便
$("#someDom").css("cssText","color:#f00 !important");
但cssText也有个缺点,它会覆盖掉以前的inline样式,可以用累加的方式得以保留原有样式。代码如下:
var elem = document.getElementById("someDom");
elem.style.cssText +=";color:#f00 !important";
注意上面的累加语句等号右侧的“;”千万不能少,因为IE的cssText属性会默认去掉最后一个“;”,所以如果累加的话一定要重新加上。
读经之人
上世纪20年代,梁启超在东南大学,其门生罗时实等问:“国粹将亡,为之奈何?”梁启超反问:“何以国粹将亡?”门生答道:“先生不见今日读经之人之少乎?”梁启超听后勃然拍案说:“从古就是这么少!”
JS只允许数字输入
假设有个ID值为“i_text”的text控件,为其设置只允许数字输入的代码:
document.getElementById("i_text").onkeypress = function(e){
var e = e || window.event, //获得事件
k = e.which || e.keyCode; // 获得 keyCode 值
/**
* 8 为退格健
* 0 为上、下、左、右方向健
* 48 为 0 健,57 为 9 健
* 48 到57 健分别是0,1,2,3,4,5,6,7,8,9
* . 点号的keyCode为 46,如果需要输入小数
* - 减号的keyCode为 45,如果需要输入负数
*/
if(k!=8 && k!=0 && (k<48 || k>57)){
return false;
}
}
注释代码中已经给出了,需要指出的是IE8目前只支持keyCode,IE9还没有试。如果使用jQuery那就更简单了,代码如下:
$("#i_text").bind('keypress',function(e){
var k = e.which;
if(k!=8 && k!=0 && (k<48 || k>57)){
return false;
}
});
放浪息子
第一次看到《放浪息子》就被她的画风所吸引,每一帧都宛如一幅精美的水彩画,音乐非常地清新婉转,很有治愈系的风格。配音演员对角色的心理也把握地非常准确,能够把人物极为细腻的心理表达出来。虽然里面的故事情节还没有很清楚,但从这两方面来说,这部动画片已经是上乘之作了。
window.location的用法
参考地址:window.location
工作中经常要对window.location进行相关的操作,在这里列出它的属性和方法,方便查找。现以链接http://julabs.me:8080/blog/front/javascript-window-location.html?author=julabs#comment为例来讲解window.location的属性:
| 属性 | 详解 | 例样 |
|---|---|---|
| hash | URL中在“#”号后面的部分,包括“#”在内 | #comment |
| host | 主机名和端口号 | julabs.me:8080 |
| hostname | 主机名,不包括端口号 | julabs.me |
| href | 整个URL地址 | http://julabs.me:8080/blog/front/javascript-window-location.html?author=julabs#comment |
| pathname | 相对于主机名和端口号的路径 | /blog/front/javascript-window-location.html |
| port | 地址的端口号 | 8080 |
| protocol | 地址的协议 | http:// |
| search | URL中在“?”号后面的部分,包括“?”在内 | ?author=julabs |
下表列出的是window.location的方法:
| 方法 | 详解 |
|---|---|
| assign(url) | 根据参数url所提供的地址来载入相应的页面 |
| reload(forceget) | 重载当前的页面,参数forceget是个boolean类型的值。当forceget为true时,页面会请求从服务器载入,如果为false则直接从缓存载入,默认为false |
| replace(url) | 将当前页面替换成参数url所对应的页面。与assign()方法的差别就在于,replace()方法不会将前一个页面地址保存在历史记录中,所以也就不能通过返回按钮回到前一个地址页面 |
| toString() | 返回Location所对应的URL值,相当于window.location.href |
正则表达式验证身份证
下面是一个简单的正则表达式验证身份证函数:
function isIdCardNo(arg){
return /(^\d{15}$)|(^\d{17}(?:\d|x|X)$)/.test(arg);
}
当然这个函数非常简单,不过能用就可以了。
