js学习笔记
来源:互联网 发布:linux crontab java 编辑:程序博客网 时间:2024/06/06 02:56
javascript由三部分组成:
ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型)
typeof操作符:
"undefined"-------如果这个值未定义
"boolean"--------如果这个值是布尔值
"string"--------------如果这个值是字符串
"number"--------------如果这个值是数值
"object"--------------如果这个值是对象或nul
"function"--------------如果这个值是函数
object类型:
constructor:保存这用于创建当前对象的函数,对于前面的例子而言,构造函数constructor就是object();
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是实例的原型)propertyName必须是字符型。
isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。参数必须是字符
toString():返回对象的字符串表示;
valueOf():返回对象的字符串,数值或布尔值表示。
reverse()和sort()方法的返回值是经过排序之后的数组
日期格式化方法:
1.toDateString()----以特定于实现的格式显示星期几,月,日和年;
2.toTimeString()----以特定于实现的格式显示时,分,秒和时区;
3.toLocaleDateString()-----以特定于地区的格式显示星期几,月,日和年;
4.toLocaleTimeString()-----以特定于实现的格式显示时,分,秒;
5.toUTCString()-------以特定于实现的格式完整的UTC日期;
RegExp实例属性:
global-----布尔值,表示是否设置了g标志;
ignoreCase----布尔值,表示是否设置i标志;
lastIndex----整数,表示开始搜索下一个匹配项的字符位置,从0算起;
multiline------布尔值,表示是否设置了m标志;
source--------正则表达式的字符串表示,按照字面量形式而非传人构造函数中的字符串;
Input($_)----最近一次要匹配的字符串。Opera未实现此属性;
lastMatch($&)------最近一次的匹配项。Opera未实现此属性;
lastParen($+)------最近一次匹配的捕获组。Opera未实现此属性;
leftContext($')------input字符串中lastmatch之前的文本;
multiline($*)-------布尔值,表示是否所有表达式都使用多行模式。IE和Opera未实现此属性;
rightContext($,)-------Input字符串中lastMatch之后的文本;
localeCompare()方法:比较两个字符;
HTML方法:
anchor(name) <a name="name">string</a>
big();<big>string</big>
bold():<b>string</b>
fixed():<tt>string</tt>
fontcolor(color)<font color="color">string</font>
fontsize(size)<font size="size">string</font>
栈方法:
push():方法可以接收任意数量的参数,把它们一个个添加到数组的末尾。
php():方法则是想欧诺个数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
匿名函数:
funtion createComparisonFunction(propertyName){
return function(object1,object2){
var value1=object1[propertyName];
var value2=object1[propertyName];
if(value1<value2){
return -1;
}else if{
return 1;
}else{
return 0;
}
} ;
}
createComparisonFunction()就返回了个匿名函数
递归:
function factorial(num){
if(num<=1){
return 1;
}else{
return num=fantorial[num-1];
}
}
内存泄露:
function assignHandler(){
var element=document.getElementById("someElement");
element.onclick=function(){
alert(element.id)
};
}
检测呈现引擎,平台,windows操作系统,移动设备和游戏系统:
var client=function(){
//呈现引擎
var engine={
ie:1;
gecko:0,
webkit:0,
khtml:0,
opera:0,
//完整的版本号
};
//浏览器
var browser={
//主要浏览器
ie:0,
firefox:0,
konq:0,
opera:0,
chrome:0,
safari:0,
//具体的版本号
ver:null
};
//平台,设备和操作系统
var system={
win:false,
mac:false,
xll:false,
//移动设备
iphone:false,
ipod:false,
nokiaN:false,
winMobile:false,
macMobile:false,
//游戏系统
wii:false,
ps:false
};
//检测呈现引擎和浏览器
var ua=navigator.userAgent;
if(window.opera){
engine.ver=browser.ver=window.opera.version();
engine.opera=browser.opera=parseFloat(engine.ver);
}else if(/AppleWebKit\/(\S+)/.test(ua)){
engine.ver=RegExp['$l'];
engine.webkit=parseFloat(engine.ver);
//确定是Chrome还是Safari
if(/Chrome\/(\$+)/.test(ua)){
browser.ver=RegExp['$l'];
browser.chrome=parseFloat(browser.ver);
}else if(/Version\/($+)/.test(ua)){
browser.ver=RegExp["$l"];
browser.safari=parseFloat(browser.ver);
}else{
//近似地确定版本号
var safariVersion=1;
if(engine.webkit<100){
safariVersion=1;
}else if(engine.webkit<312){
safariVersion=1.2
}else if(engine.webkit<412){
safariVersion=1.3;
else{
safariVersion=2;
}
browser.safari=browser.ver=safariVersion;
}
}else if(/KHTML\/(S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){
engine.ver=browser.ver=RegExp["$l"];
engine.khtml=browser.konq=parseFloat(engine.ver);
}else if(/rv:([^\]+)\)Gecko\/\d{8}/.test(ua){
engine.ver=RegExp["$l"];
engine.gecko=parseFloat(engine.ver);
//确定是不是Firefox
if(/Firefox\/(\S+)/.test(ua)){
browser.ver=RegExp["$l"];
browser.firefox=parseFloat(browser.ver);
}
}else if(/MSIE([^;]+)/.test(ua)){
engine.ver=browser.ver=RegExp["$l"];
engine.ie=browser.ie=parseFloat(engine.ver);
}
//检测浏览器
browser.ie=engine.ie;
browser.opera=engine.opera;
//检测平台
var p=navigator.platform;
system.win=p.indexOf("Win")==0;
system.mac=p.indexOf("Mac")==0;
system.xll=(p=="xll") ||(p.indexOf("Linux")==0);
//检测windows操作系统
if(system.win){
if(/Win(?:dows)?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){
if(RegExp["$l"]=="NT"){
switch(RegExp["$2"]){
case"5.0":
system.win="2000";
break;
case"5.1":
system.win="XP";
break;
case"6.0":
system.win="Vista";
break;
default:
system.wn="NT";
break;
}
}else if(RegExp["$l"]=="9x"){
system.win="ME";
}else{
system.win=RegExp["$l"];
}
}
}
//移动设备
system.iphone=ua.indexOf("iphone")>-1;
system.ipod=ua.indexOf("ipod")>-1;
system.nokiaN=ua.indexOf("NokiaN")>-1;
system.winMobile=(system.win=="CE");
system.macMobile=(system.iphone||system.ipod);
//游戏系统
system.wii=ua.indexOf("wii")>-1;
system.ps=/playstation/i.test(ua);
//返回这些对象
return{
engine:engine,
browser:browser;
system:system
};
}();
script language="javascript">
function showandhide(h_id,hon_class,hout_class,c_id,totalnumber,activeno) {
var h_id,hon_id,hout_id,c_id,totalnumber,activeno;
for (var i=1;i<=totalnumber;i++) {
document.getElementById(c_id+i).style.display='none';
document.getElementById(h_id+i).className=hout_class;
}
document.getElementById(c_id+activeno).style.display='block';
document.getElementById(h_id+activeno).className=hon_class;
}
var tips;
var theTop = 40;
var old = theTop;
function initFloatTips()
{
tips = document.getElementById('nyschool');
moveTips();
}
function moveTips()
{
var tt=50;
if (window.innerHeight)
{
pos = window.pageYOffset
}else if (document.documentElement && document.documentElement.scrollTop) {
pos = document.documentElement.scrollTop
}else if (document.body) {
pos = document.body.scrollTop;
}
pos=pos-tips.offsetTop+theTop;
pos=tips.offsetTop+pos/10;
if (pos < theTop){
pos = theTop;
}
if (pos != old) {
tips.style.top = pos+"px";
tt=10; //alert(tips.style.top);
}
old = pos;
setTimeout(moveTips,tt);
}
initFloatTips();
if(typeof(HTMLElement)!="undefined") //给firefox定义contains()方法,ie下不起作用
{
HTMLElement.prototype.contains=function (obj)
{
while(obj!=null&&typeof(obj.tagName)!="undefind"){ //通过循环对比来判断是不是obj的父元素
if(obj==this) return true;
obj=obj.parentNode;
}
return false;
}
}
function show()
{
document.getElementById("meumid").style.display="none"
document.getElementById("contentid").style.display="block"
}
function hideMsgBox(theEvent){
if (theEvent){
var browser=navigator.userAgent;
if (browser.indexOf("Firefox")>0){ //如果是Firefox
if (document.getElementById("contentid").contains(theEvent.relatedTarget)) { //如果是子元素
return
}
}
if (browser.indexOf("MSIE")>0 || browser.indexOf("Presto")>=0){ //如果是IE
if (document.getElementById('contentid').contains(event.toElement)) { //如果是子元素
return; //结束函式
}
}
}
document.getElementById("meumid").style.display = "block";
document.getElementById("contentid").style.display = "none";
}
</script>
详细资料:scxh@cn
把@换成点
纯属技术问题,非广告
右侧的QQ咨询浮动在IE,360,火狐中都是正常的,在搜狗等浏览器中,鼠标一移上去还没有点链接它就自动隐藏啦,哪位帮忙看看,级解决下兼容问题。
特殊集合:
document.anchors包含文档中所有带name特性的<a>元素;
document.applets,包含文档中所有的<applet>元素,因为不在推荐使用<applet>元素,所以这个集合已经不建议使用了。
document.forms,包含文档中所有的<form>元素,与document.getElementsByTagName("form");得到的结果相同
document.images 包含文档中所有的<img>元素,与document.getElementsByTagName("img")得到的结果相同
document.links.包含文档中所有带href特性的<a>元素。
Element类型:
nodeType的值为1;
nodeName的值为元素的标签名;
nodeValue的值为null;
parentNode可能是Document或Elment;
延迟脚本:
<script>标签定义了defer属性,这个属性的用途是表明脚本在执行不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕之后在运行。
<script type="text/javascript" defer="defer" src="example1.js"></script>
attributes属性:
getNamedItem(name); 返回nodeName属性等于name的节点;
removeNamedItem(name); 从列表中移除nodeName属性等于name的节点;
setNamedItem(node); 项列表中添加节点,衣节点的nodeName属性为索引
item(pos); 返回位于数字pos位置的节点。
Text类型
nodeType的值为3;
nodeName的值为“#text”,
nodeValue的值为节点所包含的文本,
parentNode是一个Element;
不支持(没有)子节点
appendData(text);将text添加到节点的末尾
deleteData(offset,count);从offset指定的位置开始删除count个字符
insertData(offset,text);在offset指定的位置插入text
replaceData(offset,count,text);用text替换从offset指定的位置开始到offset+count为止的文本;
splitText(offset);从offset指定的位置将当前文本节点分成两个文本节点;
substringData(offset,count);提取从offset指定的位置开始到offset+count为止处的字符串;
滚动:
scroolIntoView(alignWithTop):滚动浏览器窗口或容器元素
scrollIntoViewIfNedded(alignCenter):只在当前元素的视口中不可见的情况下,才滚东浏览器窗口或容器元素
scrollByLines(lineCount):将元素内容滚动指定的行数的高度,lineCount值可是正值;
scroolByPages(pageCount):将元素的内容滚动指定的页面的高度,具体高度有元素的高度决定。
document.body.scrollByLines(5);
document.forms[0].scrollIntoView();
document.images[0].scrollIntoViewIfNeeded();
document.body.scrollByPages[-1];
innerHTML返回当前元素所有子节点HTML表现,包括元素,注释及文本节点。
outerText属性:
除了作用范围扩大到包含调用它的节点之外,outerText与innerText基本上没有多大区别。
DOM操作技术:
caption:保存着对<caption>元素的指针;
tBodies:是一个<tbody>元素的HTMLCollection;
tFoot:保存着对<tfoot>元素的指针;
tHead:保存着对<thead>元素的指针;
rows:是一个表格中所有行的HTMlCollection;
createTHead():创建<thead>元素,将其放到表格中,返回引用;
createTFoot():创建<tfoot>元素,将其放到表格中,返回应用;
createCaption():创建<caption>元素,将其放到表格中,返回引用;
deleteThead():删除<thead>元素;
deleteTFoot():删除<tfoot>元素;
deleteCaption():删除<caption>元素;
deleteRow(pos):删除指定位置的行;
insertRow(pos):向rows集合中的指定位置插入一行;
rows:保存着<tbody>元素中行的HTMLCollection;
deleteRow(pos):删除指定位置的行;
insertRow(pos):向rows集合中的指定位置插入一行,返回对新插入行的引用;
cells:保存着<tr>元素中单元格的HTMLCollection;
deleteCell(pos):删除指定位置的单元格;
insertCell(pos):向cells集合中的指定位置插入一个单元格。
DOM样式属性和方法:
cssText:如前所述,通过它能够访问到style特性中的css代码;
length:应用给元素的css属性的数量;
parentRule:表示css信息的cssRule对象。本节后面将讨论cssRule类型。
getPropertyCSSValue(propertyName):返回包含给定属性值的CSSValue对象。
getProperPriority(propertyName):如果给定的属性使用了!important设置,则返回"important";否则,返回空字符。
getPropertyValue(propertyName):返回给定属性的字符串值。
item(index):返回给定位置的css属性的名称。
removeProperty(propertyName):从样式中删除给定属性。
setProperty(propertyName,value,priority):将给定属性设置为相应的值,并加上优先全标志。
TreeWalker:
parentNode():遍历到当前节点的父节点;
firstChild():遍历到当前节点的第一个子节点;
lastChild():遍历到当前节点的最后一个子节点;
nextSibling():遍历到当前节点的下一个同辈节点;
previousSibling():遍历到当前节点的上一个同辈节点;
就绪状态变化(readystatechange)事件:
uninitialized(未初始化):对象存在但尚未初始化;
loading(正在加载):对象正在加载数据;
loaded(加载完毕):对象加载数据完成;
interactive(交互):可以操作对象了,但还没有完成加载;
complete(完成):对象已经加载完毕;
操作剪贴板:
beforecopy:在发生复制操作前做前触发;
copy:在发生复制操作时触发;
beforecut:在发生剪切操作前触发;
cut:在发生剪切操作时触发;
beforepaste:在发生粘贴操作前触发;
paste:在发生粘贴操作时触发;
选择框脚本:
add(newOption,relOption):向控件中插入新<option>元素,其位置在指定项(relOption)之前。
multiple:布尔值,表示是否允许多项选择,等价于HTMl中的multiple特性。
options:控件中所有<option>元素的HTMLCollection.
remove(index):移除给定位置的选项;
selectedIndex:基于0的选中项的索引,如果没有选中项,则值为-1.对于支持多选的控件,只保存选中项中第一项的索引;
为<table>元素添加的属性和方法如下:
caption:保存着对<caption>元素(如果有)的指针;
tBodies:是一个<tbody>元素的HTMLCollection;
tFoot:保存着对<tfoot>元素(如果有)的指针;
innerHTML与innerText:
innerTest与innerHTML在很多方面都很相似。在读取信息时,innerHTML返回当前元素所有子节点的HTML表现,包括元素,注释及文本节点。在写入信息时,innerHTML会按照指定的值创建新的DOM子树,并以该子树替换当前的所有子节点。提到innerHTML与innerText之间最主要的区别,无非就是innerHTML处理的是HTML字符串,而innerText处理的是普通文本字符串。
DOM:
文本对象模型(Document Object Model, DOM是一种用于HTML和XML文档的编程接口。
它给文档提供了一种结构化的标识方法,可以改变文档的内容和呈现方式。
动态样式:
function loadStyles(url){
var link = document.createElement("");
}
ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型)
typeof操作符:
"undefined"-------如果这个值未定义
"boolean"--------如果这个值是布尔值
"string"--------------如果这个值是字符串
"number"--------------如果这个值是数值
"object"--------------如果这个值是对象或nul
"function"--------------如果这个值是函数
object类型:
constructor:保存这用于创建当前对象的函数,对于前面的例子而言,构造函数constructor就是object();
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是实例的原型)propertyName必须是字符型。
isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。参数必须是字符
toString():返回对象的字符串表示;
valueOf():返回对象的字符串,数值或布尔值表示。
reverse()和sort()方法的返回值是经过排序之后的数组
日期格式化方法:
1.toDateString()----以特定于实现的格式显示星期几,月,日和年;
2.toTimeString()----以特定于实现的格式显示时,分,秒和时区;
3.toLocaleDateString()-----以特定于地区的格式显示星期几,月,日和年;
4.toLocaleTimeString()-----以特定于实现的格式显示时,分,秒;
5.toUTCString()-------以特定于实现的格式完整的UTC日期;
RegExp实例属性:
global-----布尔值,表示是否设置了g标志;
ignoreCase----布尔值,表示是否设置i标志;
lastIndex----整数,表示开始搜索下一个匹配项的字符位置,从0算起;
multiline------布尔值,表示是否设置了m标志;
source--------正则表达式的字符串表示,按照字面量形式而非传人构造函数中的字符串;
Input($_)----最近一次要匹配的字符串。Opera未实现此属性;
lastMatch($&)------最近一次的匹配项。Opera未实现此属性;
lastParen($+)------最近一次匹配的捕获组。Opera未实现此属性;
leftContext($')------input字符串中lastmatch之前的文本;
multiline($*)-------布尔值,表示是否所有表达式都使用多行模式。IE和Opera未实现此属性;
rightContext($,)-------Input字符串中lastMatch之后的文本;
localeCompare()方法:比较两个字符;
HTML方法:
anchor(name) <a name="name">string</a>
big();<big>string</big>
bold():<b>string</b>
fixed():<tt>string</tt>
fontcolor(color)<font color="color">string</font>
fontsize(size)<font size="size">string</font>
栈方法:
push():方法可以接收任意数量的参数,把它们一个个添加到数组的末尾。
php():方法则是想欧诺个数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
匿名函数:
funtion createComparisonFunction(propertyName){
return function(object1,object2){
var value1=object1[propertyName];
var value2=object1[propertyName];
if(value1<value2){
return -1;
}else if{
return 1;
}else{
return 0;
}
} ;
}
createComparisonFunction()就返回了个匿名函数
递归:
function factorial(num){
if(num<=1){
return 1;
}else{
return num=fantorial[num-1];
}
}
内存泄露:
function assignHandler(){
var element=document.getElementById("someElement");
element.onclick=function(){
alert(element.id)
};
}
检测呈现引擎,平台,windows操作系统,移动设备和游戏系统:
var client=function(){
//呈现引擎
var engine={
ie:1;
gecko:0,
webkit:0,
khtml:0,
opera:0,
//完整的版本号
};
//浏览器
var browser={
//主要浏览器
ie:0,
firefox:0,
konq:0,
opera:0,
chrome:0,
safari:0,
//具体的版本号
ver:null
};
//平台,设备和操作系统
var system={
win:false,
mac:false,
xll:false,
//移动设备
iphone:false,
ipod:false,
nokiaN:false,
winMobile:false,
macMobile:false,
//游戏系统
wii:false,
ps:false
};
//检测呈现引擎和浏览器
var ua=navigator.userAgent;
if(window.opera){
engine.ver=browser.ver=window.opera.version();
engine.opera=browser.opera=parseFloat(engine.ver);
}else if(/AppleWebKit\/(\S+)/.test(ua)){
engine.ver=RegExp['$l'];
engine.webkit=parseFloat(engine.ver);
//确定是Chrome还是Safari
if(/Chrome\/(\$+)/.test(ua)){
browser.ver=RegExp['$l'];
browser.chrome=parseFloat(browser.ver);
}else if(/Version\/($+)/.test(ua)){
browser.ver=RegExp["$l"];
browser.safari=parseFloat(browser.ver);
}else{
//近似地确定版本号
var safariVersion=1;
if(engine.webkit<100){
safariVersion=1;
}else if(engine.webkit<312){
safariVersion=1.2
}else if(engine.webkit<412){
safariVersion=1.3;
else{
safariVersion=2;
}
browser.safari=browser.ver=safariVersion;
}
}else if(/KHTML\/(S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){
engine.ver=browser.ver=RegExp["$l"];
engine.khtml=browser.konq=parseFloat(engine.ver);
}else if(/rv:([^\]+)\)Gecko\/\d{8}/.test(ua){
engine.ver=RegExp["$l"];
engine.gecko=parseFloat(engine.ver);
//确定是不是Firefox
if(/Firefox\/(\S+)/.test(ua)){
browser.ver=RegExp["$l"];
browser.firefox=parseFloat(browser.ver);
}
}else if(/MSIE([^;]+)/.test(ua)){
engine.ver=browser.ver=RegExp["$l"];
engine.ie=browser.ie=parseFloat(engine.ver);
}
//检测浏览器
browser.ie=engine.ie;
browser.opera=engine.opera;
//检测平台
var p=navigator.platform;
system.win=p.indexOf("Win")==0;
system.mac=p.indexOf("Mac")==0;
system.xll=(p=="xll") ||(p.indexOf("Linux")==0);
//检测windows操作系统
if(system.win){
if(/Win(?:dows)?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){
if(RegExp["$l"]=="NT"){
switch(RegExp["$2"]){
case"5.0":
system.win="2000";
break;
case"5.1":
system.win="XP";
break;
case"6.0":
system.win="Vista";
break;
default:
system.wn="NT";
break;
}
}else if(RegExp["$l"]=="9x"){
system.win="ME";
}else{
system.win=RegExp["$l"];
}
}
}
//移动设备
system.iphone=ua.indexOf("iphone")>-1;
system.ipod=ua.indexOf("ipod")>-1;
system.nokiaN=ua.indexOf("NokiaN")>-1;
system.winMobile=(system.win=="CE");
system.macMobile=(system.iphone||system.ipod);
//游戏系统
system.wii=ua.indexOf("wii")>-1;
system.ps=/playstation/i.test(ua);
//返回这些对象
return{
engine:engine,
browser:browser;
system:system
};
}();
script language="javascript">
function showandhide(h_id,hon_class,hout_class,c_id,totalnumber,activeno) {
var h_id,hon_id,hout_id,c_id,totalnumber,activeno;
for (var i=1;i<=totalnumber;i++) {
document.getElementById(c_id+i).style.display='none';
document.getElementById(h_id+i).className=hout_class;
}
document.getElementById(c_id+activeno).style.display='block';
document.getElementById(h_id+activeno).className=hon_class;
}
var tips;
var theTop = 40;
var old = theTop;
function initFloatTips()
{
tips = document.getElementById('nyschool');
moveTips();
}
function moveTips()
{
var tt=50;
if (window.innerHeight)
{
pos = window.pageYOffset
}else if (document.documentElement && document.documentElement.scrollTop) {
pos = document.documentElement.scrollTop
}else if (document.body) {
pos = document.body.scrollTop;
}
pos=pos-tips.offsetTop+theTop;
pos=tips.offsetTop+pos/10;
if (pos < theTop){
pos = theTop;
}
if (pos != old) {
tips.style.top = pos+"px";
tt=10; //alert(tips.style.top);
}
old = pos;
setTimeout(moveTips,tt);
}
initFloatTips();
if(typeof(HTMLElement)!="undefined") //给firefox定义contains()方法,ie下不起作用
{
HTMLElement.prototype.contains=function (obj)
{
while(obj!=null&&typeof(obj.tagName)!="undefind"){ //通过循环对比来判断是不是obj的父元素
if(obj==this) return true;
obj=obj.parentNode;
}
return false;
}
}
function show()
{
document.getElementById("meumid").style.display="none"
document.getElementById("contentid").style.display="block"
}
function hideMsgBox(theEvent){
if (theEvent){
var browser=navigator.userAgent;
if (browser.indexOf("Firefox")>0){ //如果是Firefox
if (document.getElementById("contentid").contains(theEvent.relatedTarget)) { //如果是子元素
return
}
}
if (browser.indexOf("MSIE")>0 || browser.indexOf("Presto")>=0){ //如果是IE
if (document.getElementById('contentid').contains(event.toElement)) { //如果是子元素
return; //结束函式
}
}
}
document.getElementById("meumid").style.display = "block";
document.getElementById("contentid").style.display = "none";
}
</script>
详细资料:scxh@cn
把@换成点
纯属技术问题,非广告
右侧的QQ咨询浮动在IE,360,火狐中都是正常的,在搜狗等浏览器中,鼠标一移上去还没有点链接它就自动隐藏啦,哪位帮忙看看,级解决下兼容问题。
特殊集合:
document.anchors包含文档中所有带name特性的<a>元素;
document.applets,包含文档中所有的<applet>元素,因为不在推荐使用<applet>元素,所以这个集合已经不建议使用了。
document.forms,包含文档中所有的<form>元素,与document.getElementsByTagName("form");得到的结果相同
document.images 包含文档中所有的<img>元素,与document.getElementsByTagName("img")得到的结果相同
document.links.包含文档中所有带href特性的<a>元素。
Element类型:
nodeType的值为1;
nodeName的值为元素的标签名;
nodeValue的值为null;
parentNode可能是Document或Elment;
延迟脚本:
<script>标签定义了defer属性,这个属性的用途是表明脚本在执行不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕之后在运行。
<script type="text/javascript" defer="defer" src="example1.js"></script>
attributes属性:
getNamedItem(name); 返回nodeName属性等于name的节点;
removeNamedItem(name); 从列表中移除nodeName属性等于name的节点;
setNamedItem(node); 项列表中添加节点,衣节点的nodeName属性为索引
item(pos); 返回位于数字pos位置的节点。
Text类型
nodeType的值为3;
nodeName的值为“#text”,
nodeValue的值为节点所包含的文本,
parentNode是一个Element;
不支持(没有)子节点
appendData(text);将text添加到节点的末尾
deleteData(offset,count);从offset指定的位置开始删除count个字符
insertData(offset,text);在offset指定的位置插入text
replaceData(offset,count,text);用text替换从offset指定的位置开始到offset+count为止的文本;
splitText(offset);从offset指定的位置将当前文本节点分成两个文本节点;
substringData(offset,count);提取从offset指定的位置开始到offset+count为止处的字符串;
滚动:
scroolIntoView(alignWithTop):滚动浏览器窗口或容器元素
scrollIntoViewIfNedded(alignCenter):只在当前元素的视口中不可见的情况下,才滚东浏览器窗口或容器元素
scrollByLines(lineCount):将元素内容滚动指定的行数的高度,lineCount值可是正值;
scroolByPages(pageCount):将元素的内容滚动指定的页面的高度,具体高度有元素的高度决定。
document.body.scrollByLines(5);
document.forms[0].scrollIntoView();
document.images[0].scrollIntoViewIfNeeded();
document.body.scrollByPages[-1];
innerHTML返回当前元素所有子节点HTML表现,包括元素,注释及文本节点。
outerText属性:
除了作用范围扩大到包含调用它的节点之外,outerText与innerText基本上没有多大区别。
DOM操作技术:
caption:保存着对<caption>元素的指针;
tBodies:是一个<tbody>元素的HTMLCollection;
tFoot:保存着对<tfoot>元素的指针;
tHead:保存着对<thead>元素的指针;
rows:是一个表格中所有行的HTMlCollection;
createTHead():创建<thead>元素,将其放到表格中,返回引用;
createTFoot():创建<tfoot>元素,将其放到表格中,返回应用;
createCaption():创建<caption>元素,将其放到表格中,返回引用;
deleteThead():删除<thead>元素;
deleteTFoot():删除<tfoot>元素;
deleteCaption():删除<caption>元素;
deleteRow(pos):删除指定位置的行;
insertRow(pos):向rows集合中的指定位置插入一行;
rows:保存着<tbody>元素中行的HTMLCollection;
deleteRow(pos):删除指定位置的行;
insertRow(pos):向rows集合中的指定位置插入一行,返回对新插入行的引用;
cells:保存着<tr>元素中单元格的HTMLCollection;
deleteCell(pos):删除指定位置的单元格;
insertCell(pos):向cells集合中的指定位置插入一个单元格。
DOM样式属性和方法:
cssText:如前所述,通过它能够访问到style特性中的css代码;
length:应用给元素的css属性的数量;
parentRule:表示css信息的cssRule对象。本节后面将讨论cssRule类型。
getPropertyCSSValue(propertyName):返回包含给定属性值的CSSValue对象。
getProperPriority(propertyName):如果给定的属性使用了!important设置,则返回"important";否则,返回空字符。
getPropertyValue(propertyName):返回给定属性的字符串值。
item(index):返回给定位置的css属性的名称。
removeProperty(propertyName):从样式中删除给定属性。
setProperty(propertyName,value,priority):将给定属性设置为相应的值,并加上优先全标志。
TreeWalker:
parentNode():遍历到当前节点的父节点;
firstChild():遍历到当前节点的第一个子节点;
lastChild():遍历到当前节点的最后一个子节点;
nextSibling():遍历到当前节点的下一个同辈节点;
previousSibling():遍历到当前节点的上一个同辈节点;
就绪状态变化(readystatechange)事件:
uninitialized(未初始化):对象存在但尚未初始化;
loading(正在加载):对象正在加载数据;
loaded(加载完毕):对象加载数据完成;
interactive(交互):可以操作对象了,但还没有完成加载;
complete(完成):对象已经加载完毕;
操作剪贴板:
beforecopy:在发生复制操作前做前触发;
copy:在发生复制操作时触发;
beforecut:在发生剪切操作前触发;
cut:在发生剪切操作时触发;
beforepaste:在发生粘贴操作前触发;
paste:在发生粘贴操作时触发;
选择框脚本:
add(newOption,relOption):向控件中插入新<option>元素,其位置在指定项(relOption)之前。
multiple:布尔值,表示是否允许多项选择,等价于HTMl中的multiple特性。
options:控件中所有<option>元素的HTMLCollection.
remove(index):移除给定位置的选项;
selectedIndex:基于0的选中项的索引,如果没有选中项,则值为-1.对于支持多选的控件,只保存选中项中第一项的索引;
为<table>元素添加的属性和方法如下:
caption:保存着对<caption>元素(如果有)的指针;
tBodies:是一个<tbody>元素的HTMLCollection;
tFoot:保存着对<tfoot>元素(如果有)的指针;
innerHTML与innerText:
innerTest与innerHTML在很多方面都很相似。在读取信息时,innerHTML返回当前元素所有子节点的HTML表现,包括元素,注释及文本节点。在写入信息时,innerHTML会按照指定的值创建新的DOM子树,并以该子树替换当前的所有子节点。提到innerHTML与innerText之间最主要的区别,无非就是innerHTML处理的是HTML字符串,而innerText处理的是普通文本字符串。
DOM:
文本对象模型(Document Object Model, DOM是一种用于HTML和XML文档的编程接口。
它给文档提供了一种结构化的标识方法,可以改变文档的内容和呈现方式。
动态样式:
function loadStyles(url){
var link = document.createElement("");
}
- JS学习笔记
- js学习笔记
- js宝典学习笔记
- js学习笔记(一)
- js宝典学习笔记
- Propoty.js学习笔记
- Prototype.js 学习笔记
- JS学习笔记1
- JS学习笔记2
- prototype.js学习笔记
- JS学习笔记
- JS学习笔记1
- prototype.js学习笔记
- js学习笔记
- JS学习笔记一
- JS学习笔记
- js学习笔记
- js学习笔记
- 子查询
- some kernel network configs needed to be check
- PostgreSQL数据库开源连接池pgbouncer的使用
- recovery 英文介绍
- jquery学习笔记
- js学习笔记
- PB 各种小功能点(一)
- 破解Oracle函数"wmsys.wm_concat()"
- Using PGSNAP to Monitor PostgreSQL Database
- php 操作 MySQL 中的Blob类型 存储图片
- binux
- PostgreSQL PARSE等待一例
- 算法学习视频下载
- Swap Consumed very Much When PostgreSQL autovacuum to prevent wraparound