分类
技术

jquery获取子节点、父节点和兄弟节点并修改

jquery获取父元素方法比较多,比如parent(),parents(),closest()这些都能帮你实现查找父元素或节点
获取上一个兄弟元素prev()
获取下一个兄弟元素next()

分类
技术

IE6、IE7下的z-index,浮动层被挡住的问题

在正常的页面中,z-index属性决定了标签块的显示优先权,但是在IE6、IE7下,层级的高低不仅要看自己,还要看自己的老爸这个后台是否够硬。用术语具体描述为:
父标签position属性为relative或absolute时,子标签的absolute属性是相对于父标签而言的。
而在IE6、IE7下,层级的表现有时候不是看子标签的z-index多高,而要看它们的父标签的z-index谁高谁低。

有一定经验的人可能都知道上面的事实。但是,相信这里面很多人不知道IE6、IE7下,决定层级高低的不是当前的父标签,而是整个DOM tree(节点树)的第一个relative属性的父标签。有时平时我们多处理一个父标签,z-index层级多而复杂的情况不多见,所以难免会有认识上 的小小偏差。

转载自:http://www.wufangbo.com/ie6-ie7-z-index-bug/

分类
技术

关于CSS选择器中的空格

HTML文档是一棵树的结构,各元素以一种层次结构为基础构成‘树’的视图。文档树中的每个元素,要么是另一个元素的父元素,要么是另一个元素的子元素,这样,各元素之间就形成了‘父子关系’。基于这样的关系模型,CSS定义了后代选择器(descendant selector)也称为上下文选择器(contextual selector)。
后代选择器的写法为,子代元素以空格与父元素形成连接关系构成选择器,如:
div span{color:blue;}

以上规则的结果为:“作为div元素后代的任何span元素显示为蓝色字体”。

选择器之间的空格是一种结合符(combinator)。每个空格结合符可以解释为“…在…中找到”、“…作为…的一部分”、“…作为…的后代”,但是要求必须从右向左读选择器——《CSS权威指南》第三版

CSS还有两种选择器:类选择器和ID选择器,个中细则不是本文陈述的重点。本文的重点是:空格在后代选择器、类选择器和ID选择器相结合的情况中的种种问题,及解决方式。
先看看以下的规则:

div.blue {color:blue;}

以上规则的结果为:“所有class属性值为blue的div元素显示为蓝色字体”。然而我的要求并不是这样,我的要求是:“作为div元素后代的任何class属性值为blue的元素显示为蓝色字体”。试试以下的规则:

div .blue{color:blue;}

以上规则的改进之处为’div’与’.blue’之间多了一个空格,这样是否就能形成后代选择器呢?答案是否定的!该规则实现的结果依旧是:“所有class属性值为blue的div元素显示为蓝色字体”。

那么该怎么结合类选择器构成后代选择器的效果呢?方法是有的,那就是给父元素div设置一个class或者id属性,假设我给它加上一个class属性,于是规则就变为:

div.contain .blue{color:blue;}

以上规则的结果为:“所有class属性值为contain的div元素,其后代中class属性值为blue的任何元素显示为蓝色字体”。结果虽然不能完全达到我的苛刻要求,但已经很接近了。接近了,效果一定是很明显的,然而我却发现完全没有了蓝色字体,因为我把规则写为:

div.contain.blue{color:blue;}

以上规则的不同之处在于,’.contain’与’.blue’之间少了一个空格!少了空格,以上选择器就不是后代选择器了,而是另外一种选择器:“多类选择器”。

在HTML中,一个class值中有可能包含一个词列表,各个词之间用空格分隔。那么以上的多类选择器只能将规则应用于如下形式的元素中:

<div class=”contain blue”>text</div>
以上的class属性值少了其中一个都无法将字体显示为蓝色! 
将以上规则放在一起,比较起来会清晰一点:

1 div.contain .blue{color:blue;}
2 div.contain.blue{color:blue;} 
以上两种规则分别应用的元素如下:

1 <div class=”contain”>contain<span class=”blue”>blue</span><!–后代–>
2 <div class=”contain blue”>contain and blue</div><!–多类–>
值得注意的是:ID属性不允许有以空格分隔的词列表。所以以下的规则将无法应用到任何元素:

div#contain#blue{color:blue;}
以上的规则将无法应用到任何元素。你只能乖乖地用空格将两个ID选择器分隔,构成后代选择器。

综上,选择器之间的空格是一种结合符,如果要构成后代选择器,则空格两边的选择符必须为如下两种形式:

  1. 元素选择符 空格 元素选择符
  2. 非元素选择符 空格 非元素选择符

后代选择器中绝对不可能出现的一种情形:元素选择符 [空格] 非元素选择符。
最重要一点:两个类选择器之间存在空格则构成后代选择器,之间没有空格的则构成多类选择器。

分类
技术

error: ELF header smaller than expected.

今儿个因为mysq突然无缘无故出现无法登陆的问题,就顺手update了一下,然后就杯具了。
error
因为本地服务器的缘故,数据都没有备份,幸好,只是启动问题。

解决办法一(适用于Ubuntu和Windows双系统的情况,未经验证。)
下载64位桌面版(原来是64位的服务器版),从光盘启动,选择“live cd”,就是体验系统,但是不更改原来的系统(大概跟windows下面的pe差不多)。
启动后进入系统,
1、使用alt键+f2键调出运行程序对话框;
2、输入gnome-terminal回车调出终端窗口;
3、键入sudo apt-get install lilo
4、sudo lilo -M /dev/sda mbr
5、拿出光盘,重启。

解决办法二(在虚拟机上的Ubuntu系统)
1、放入服务器版光盘,选择“急救模式”。
2、重新安装引导即可。

参考文章:
http://computerscience.blog.163.com/blog/static/17496234320131883940834/
http://ubuntuforums.org/showthread.php?t=1593369

————————————————————————————————————————

嗯,最后发现是虚拟服务器的空间不够了……

分类
技术

postfix关于550的不同提示

老是有邮件被退回来,一般的提示是550 Unknown user,从字面上理解,就是这个邮件地址错误了,事实上并不全是。要根据具体的提示信息来判断。
如果被拒收,只能让收件人设定个白名单了。

被拒收的邮件提示:
<xxx@domain.com>: host xxx.domain.com[111.111.111.111] said: 550 Unknown user xxx@domain.com (in reply to end of DATA command)

地址不存在的提示:
<xxx@domain.com>: host xxx.domain.com[111.111.111.111] said: 550 Unknown user xxx@domain.com (in reply to RCPT TO command)

分类
技术

[转]Ubuntu下彻底卸载mysql

做个记录,可以参考用于卸载其他软件:
Ubuntu中软件卸载(reinstall),但是还会保留相关的配置文件,只有彻底删除(remove)才行。

1、删除 mysql

上面的其实有一些是多余的,建议还是按照顺序执行一遍

清理残留数据

dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

2、安装 mysql

一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:

当您运行该命令时,您可以看到类似下面的行:

如果服务器不能正常运行,您可以通过下列命令启动它:

分类
技术

google拒收邮件550-5.7.1

因为日本市场上使用gmail邮箱的是个小众人群,一直以来也没太注意,今天才发现,gmail邮箱基本上收不到我们的邮件,特别是发货的通知邮件,退回消息如下:

起初检查了邮件系统,毕竟很久没更新了。甚至在本机虚拟机上重新假设了一个新的邮件系统,发现效果依然如此。百度了大半天,基本都是没有用的垃圾信息。
最后将“Our system has detected that 550-5.7.1 this message is likely unsolicited mail. ”放到谷歌上搜索,发现有很多人有这种情况,不过更多的人是IP进入了谷歌的黑名单,而我们的知识因为邮件服务器域名未验证的原因,然后继续谷歌继续百度,原来DNS设置里有个TXT记录(TXT record)需要设置。

TXT Record
v=spf1 a mx ip4:8.8.8.8 -all
大概意思是spf记录1版本(到现在似乎就只有1个版本),DNS中的a记录,mx记录,特别是IP4等于指定的例如这里设置的8.8.8.8(你的服务器地址)都是经过域名所有者认证的邮件。

分类
技术

WinMerge && 正则表达式30分钟入门教程

http://deerchao.net/tutorials/regex/regex.htm

确实很不错滴,在使用WinMerge对比大批量文件时,需要排除一些小更新(例如版权声明里的2001-2012)之类,就需要用到正则表达式进行排除了。
当然更主要是WinMerge支持正则表达式过滤器啊,真是神器。

文件比较工具WinMerge
Dreamweaver可以直接配置使用
试用了几个,发现这个09年的还是最好用,还是中文版–。

http://winmerge.org/

WinMerge

分类
技术

function $(id)冲突

如果已经用了JQUERY,也就是HEAD里面已经引用了JQUERY,那么这个页面中那些和JQUERY没有任何关系的原生JS就不可以再使用除JUQERY的选择器缩写符号$了。

那么怎么办呢?

比如这一段JS:

转载自《function $(id)冲突

分类
技术

[转]WordPress feed错误

今天安装了一个主题,结果打开feed出错:
QQ截图20130507204929

解决办法:http://cnzhx.net/blog/fix-wordpress-feed-error/
W3官网:http://validator.w3.org/feed/docs/error/WPBlankLine.html

我的问题不是插件引起的,而是主题的functions.php的两个之间含有空行引起的= =”
QQ图片20130507205219
去掉空行,就可以了。