月度归档:2010年11月

研究:IE6的CSS的类名链选择器

为了实现js状态,最近偶会这样去写css选择器:
.a , .b {color:red}
.a.c {color:green}
.b.c {color:#f60}

js可以方便的给.a, .b两个元素添加状态类.c,以改变其表现。但是在IE6下是挫败的。

中文的标准说法是这样的:CSS的类名交集复合选择器:由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集,其中第一必须是标记选择器,第二个必须是类别选择器或者ID选择器,两个选择器之间不能有空格,必须连续书写
如:h3.class{color:red;font-size:23px;}

另外就是搜了下老外的研究,貌似这个网站很不错:

Using multiple classes within selectors

Most browsers, excluding Win/IE5 and Win/IE6 support multiple class selectors.
Browser support chartMac: Safari 4.0 supported
Mac: Chrome 5.0 supported
Mac: FireFox 3.6 supported
Mac: Opera 10 supported
Win: FireFox 3.6 supported
Win: Opera 10 supported
Win: IE6 NOT SUPPORTED
Win: IE7 supported
Win: IE8 supported

js判断文档是否包含某标签字符串的不靠谱

写了一段js,目的呢,是判断某个div的html内是否包含某个标签:

var a = "<a rel='1122'>demo</a>";
var html = $("div").html;
console.info(html.indexOf(a) == -1);
if(html.indexOf(a) == -1)
    $("div").append(a); //本意就是这样,如果发现不存在该标签就append到这个div

结果程序运行有bug,后来发现,这种方式及其不靠谱,偶忽视了html获取在各个浏览器是不一样的结果。比如FF获取到的标签属性是加双引号的, IE却是大写标签,并且属性无引号,很显然偶的这种写法大错特错了。

记录之以警示!

Delete SVN Folders

复制以下内容到一个文本文件,然后改后缀名为.reg,双击导入注册表,之后在有SVN控制的文件夹右键 -> Delete SVN Folders

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@=”Delete SVN Folders”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@=”cmd.exe /c \”TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \”%1\” %%f IN (.svn) DO RD /s /q \”%%f\” \””

js、css文件管理研究

1、同名子目录下的自动引入

这个思想是这样的,在/css, /js 等根目录下,根据不同channel, module的URL访问,自动在合适位置引入与channel,module同名的子目录中的文件

比如两种访问:二级目录URL:www.cssor.com/news/..,www.cssor.com/shopping/…;二级域名URL:news.cssor.com/…,shopping.cssor.com/…;

那么这些URL下的页面自动去引入(link href, script src)或包含(php/jsp,include)位于/css,/js下面同名子目录中的文件,也就是:/css/news/, /css/shopping/, /js/news/,/js/shopping下的所有文件。

由此可以引申出许多有效的同名管理策略。