zgh26782000 zgh26782000
关注数: 45 粉丝数: 108 发帖数: 8,155 关注贴吧数: 18
js nextSibling属性和previousSibling属性 1:nextSibling属性 该属性表示当前节点的下一个节点(其后的节点与当前节点同属一个级别);如果其后没有与其同级的节点,则返回null。 需要特别注意的是:该属性在不同的浏览器中的执行结果并不都相同,见下面例示: 先来看一个例子: <div> <input id="a4" type="button" onclick="alert(this.nextSibling);" value="d" /> <input id="a5" type="button" onclick="alert(this.nextSibling);" value="e" /> </div> 该对象的结构表面上看,div的nextSibling只有2项——两个input节点。但实际上有5项——/n,input,/n,input,/n。这是因为input作为创建各种表单输入控件的标签,无论是生成button、checkbox、radio...等或其他表单控件,IE都会自动在后面创建一个1字节位的空白。 IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样——FF会把诸如空格换行之类的排版元素视作节点读取,因此,在ie中用nextSibling便可读取到的下一个节点元素,在FF中就需要这样写:nextSibling.nextSibling了。 opera和safari对nextSibling的处理方式与FF一致 2:previousSibling属性 该属性与nextSibling属性的作用正好相反。例如:someTagObject.nextSibling.previousSibling其实返回的是该标签元素本身,但前提必须是:该标签元素的后面必须有一个同级的元素,否则就返回null了。 3:通过nextSibling或者 previousSibling所获得的HTML标签元素对象的属性问题 一般先通过nextSibling.nodeName来获知其标签名,或者通过nextSibling.nodeType来获知其标签类型,然后,如果该nextSibling.nodeName = #text,则通过nextSibling.nodeValue来获知其文本值;否则,可以通过nextSibling.innerHTML等其他常用标签元素属性来获取其属性。
NetBeans中的代码模板 在 NetBeans中,为许多类型的文件都创建了模板,如jsp、java等,当我们选择创建一个这些类型的新文件时,就会自动按照模板生成初始的代码,我们可以很容易地自己修改定制这些代码。只需在主菜单的工具->模板中打开指定的模板文件,然后进行修改即可。但是,如果需要创建一个新的模板,例如,我们常常需要创建带有表单的页面,可以创建一个特定的表单模板,这样,可以提高我们编写代码的效率。但是,通过实践发现,下面这种方式有些不足之处:自己创建一个新的jsp文件,然后在下图中选择“添加”进行指定 在使用这种模板创建新的文件时,发现其中的时间、文档名称等特殊变量均不起作用。接下来想了一个变通的办法,在上图中先选JSP,然后选择复制,再将复制后得到的模板改成自己需要的,这样就不会发生上面的问题了。不过,目前还没找到有关NetBeans模板的更多资料,例如模板存放的位置、可以使用哪些特殊变量等等。只好暂且先这么用着吧。 ---------------------------------------------------后记--------------------------------------------------------- 在官网上找了下资料,发现NetBeans的模板是采用FreeMarker写的,可以向其中插入下面的预定义的变量: ${date} inserts the current date, in this format: Feb 16, 2008 ${encoding} inserts the default encoding, such as: UTF-8 ${name} inserts the name of the file. ${nameAndExt} inserts the name of the file, together with its extension. ${package} inserts the name of the package where the file is created. ${time} inserts the current time, in this format: 7:37:58 PM ${user} inserts the user name.
由JS中toString()方法所想到的 在JS中,定义的所有对象都具有toString()方法。 Number类型的toString()方法比较特殊,有默认模式和基模式两种。默认模式的例子: var num1 = 10; var num2 = 10.0; alert(num1.toString());//输出10 alert(num2.toString());//输出10 无论你用什么表示法声明数字,默认模式只是按十进制返回。基模式的例子: var num1 = 10; alert(num1.toString(2));//输出1010 alert(num1.toString(8));//输出12 alert(num1.toString(16));//输出A 很明显,基模式就是把数值型转换成相应的进制。 JAVA中是否也有这样的函数呢?搜了下还真有,直接看例子吧:十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Integer.valueOf("876",8).toString() 二进制转十进制 Integer.valueOf("0101",2).toString() 顺便说下进制转换的原理吧,呵呵数制间的转换规则 1.十进制数与非十进制数之间的转换 (1)十进制数转换成非十进制数 把一个十进制数转换成非十进制数(基数记作R)分成两步.整数部分转换时采用“除R取余法”;小数部分转换时采用“乘R取整法”。 (2)非十进制数转换成十进制数 非十进制数(基数记作R,第j个数位的位权记作Rj)转换成十进制数的方法:按权展开求其和。 2.非十进制数之间的转换 (1)二进制数与八进制数之间的转换 ①二进制数转换成八进制数的方法.以小数点分界,整数部分自右向左、小数部分自左向右,每三位一组,不足三位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的八进制数码。 ②八进制数转换成二进制数的方法:用八进制数码对应的三位二进制数代替八进制数码本身即可。 (2)二进制数与十六进制数之间的转换 ①二进制数转换成十六进制数的方法:以小数点分界,整数部分自右向左、小数部分自左向右,每四位一组,不足四位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的十六进制数码。 ②十六进制数转换成二进制数的方法:用十六进制数码对应的四位二进制数代替十六进制数码本身即可。
java命名规范 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性) 较短的单词可通过去掉“元音”形成缩写; 较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。 使用匈牙利表示法 Package 的命名 Package 的名字应该都是由一个小写单词组成。 package com.neu.util Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成,对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。 public class ThisAClassName{} Class 变量的命名 变量的名字必须用一个小写字母开头。后面的单词用大写字母开头 userName , thisAClassMethod Static Final 变量的命名 static Final 变量的名字应该都大写,并且指出完整含义。 /** *DBConfig PATH **/ public static final String DB_CONFIG_FILE_PATH ="com.neu.etrain.dbconfig"; 参数的命名 参数的名字必须和变量的命名规范一致。 数组的命名 数组应该总是用下面的方式来命名: byte[] buffer; 而不是: byte buffer[]; 方法的参数 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字: SetCounter(int size){ this.size = size; }
首页 1 2 3 下一页