js操作table对象及页面元素小结

  • 使用html dom document对象的方法

方法描述IEFOW3C
close()关闭用 document.open() 方法打开的输出流,并显示选定的数据。419Yes
getElementById()返回对拥有指定 id 的第一个对象的引用。519Yes
getElementsByName()返回带有指定名称的对象集合。519Yes
getElementsByTagName()返回带有指定标签名的对象集合。519Yes
open()打开一个流,以收集来自任何 document.write() 或 document.writeln() 方法的输出。419Yes
write()向文档写 HTML 表达式 或 JavaScript 代码。419Yes
writeln()等同于 write() 方法,不同的是在每个表达式之后写一个换行符。419Yes

这里使用getElementById()方法得到table对象,代码如下:

var  complexSeachResult  =  document.getElementById( " complexSeachResult " );

 

  • 得到table对象后,就可以对该table对象进行增加、删除、修改、移动等操作了,下表是table提供的方法

方法描述IEFOW3C
createCaption()为表格创建一个 caption 元素。419Yes
createTFoot()在表格中创建一个空的 tFoot 元素。419Yes
createTHead()在表格中创建一个空的 tHead 元素。419Yes
deleteCaption()从表格删除 caption 元素以及其内容。419Yes
deleteRow()从表格删除一行。419Yes
deleteTFoot()从表格删除 tFoot 元素及其内容。419Yes
deleteTHead()从表格删除 tHead 元素及其内容。419Yes
insertRow()在表格中插入一个新行。419Yes
moveRow(from,to)将一行移动到新的位置上。5No
refresh()刷新表格中的内容4No

这里用insertRow()插入新行、deleteRow()删除当前行和moveRow(from,to)移动行操作,代码如下:

ExpandedBlockStart.gif 代码
var  row  =  complexSeachResult.insertRow();   // 插入行
complexSeachResult.deleteRow(row.rowIndex);   // 删除行
complexSeachResult.moveRow(row.rowIndex, row.rowIndex  -   1 );   // 上移行
complexSeachResult.moveRow(row.rowIndex, row.rowIndex  +   1 );   // 下移行

 

 

给行添加页面元素,TableRow对象提供的方法如下:

方法描述IEFOW3C
deleteCell()删除行中的指定的单元格。419Yes
insertCell()在一行中的指定位置插入一个空的 <td> 元素。419Yes
 这里使用 insertCell()方法为row行对象插入td对给td对象创建页面元素,document.createElement()方法创建页面元素,对象的setAttribute方法给元素赋初始值,代码如下:

 

ExpandedBlockStart.gif 代码
             var  row  =  complexSeachResult.insertRow();         

            
var  btnDel  =  document.createElement( " <input value=\ " 删除\ "  type=\ " button\ "  class=\ " ButtonStyle\ "  οnclick=\ " delRow( this );\ "  /> " );   // 创建按钮对象
             var  btnUpMove  =  document.createElement( " <input type=\ " button\ "  class=\ " ButtonMoveUp\ "  οnclick=\ " upMoveRow( this );\ "  /> " );   
            
var  btnDownMove  =  document.createElement( " <input type=\ " button\ "  class=\ " ButtonMoveDown\ "  οnclick=\ " downMoveRow( this );\ "  /> " );

            
var  cbLeftBracket  =  document.createElement( " <input type=\ " checkbox\ "  /> " );   // 创建复选框对象
             var  ddlFieldValue  =  document.createElement( " <select name=\ " ddlFieldValue\ "  ></select> " );   // 创建下拉列表对象
             var  selRelationalOperators  =  document.createElement( " <select name=\ " selRelationalOperators\ "  ></select> " );
            
var  txtValue  =  document.createElement( " <input type=\ " text\ "  style=\ " width: 100px\ "  /> " );   // 创建文本框对象
             var  cbRightBracket  =  document.createElement( " <input type=\ " checkbox\ "  /> " );
            
var  selLogicalOperators  =  document.createElement( " <select name=\ " selLogicalOperators\ "  ></select> " );

            
// 将元素插入到相应的td内
            row.insertCell( 0 ).appendChild(btnDel);  
            row.insertCell(
1 ).appendChild(btnUpMove);
            row.insertCell(
2 ).appendChild(btnDownMove);

            row.insertCell(
3 ).appendChild(cbLeftBracket);
            row.insertCell(
4 ).appendChild(ddlFieldValue);
            row.insertCell(
5 ).appendChild(selRelationalOperators);
            row.insertCell(
6 ).appendChild(txtValue);
            row.insertCell(
7 ).appendChild(cbRightBracket);
            row.insertCell(
8 ).appendChild(selLogicalOperators);

            
// 给元素赋初始值
            cbLeftBracket.setAttribute( " checked " , true );  
            //jsSelectConpy(document.getElementById( " ddlField " ), ddlFieldValue);
            //jsSelectConpy(document.getElementById(
" selRelationalOperators " ), selRelationalOperators);
            txtValue.setAttribute(
" value " , document.getElementById( " txtValue " ).value);
            cbRightBracket.setAttribute(
" checked " , document.getElementById( " cbRightBracket " ).checked);
            //jsSelectConpy(document.getElementById(
" selLogicalOperators " ), selLogicalOperators);

 

  • 对下拉列表框的复制、设置选择项、添加新项等操作的封装,select的一些方法及属性

方法描述IEFOW3C
add()向下拉列表添加一个选项。419Yes
blur()从下拉列表移开焦点。419Yes
focus()在下拉列表上设置焦点。419Yes
remove()从下拉列表中删除一个选项。419Yes

集合描述IEFOW3C
options[]返回包含下拉列表中的所有选项的一个数组。419Yes
属性描述IEFOW3C
disabled设置或返回是否应禁用下拉列表。519Yes
form返回对包含下拉列表的表单的引用。419Yes
id设置或返回下拉列表的 id。419Yes
length返回下拉列表中的选项数目。419Yes
multiple设置或返回是否选择多个项目。419Yes
name设置或返回下拉列表的名称。419Yes
selectedIndex设置或返回下拉列表中被选项目的索引号。419Yes
size设置或返回下拉列表中的可见行数。419Yes
tabIndex设置或返回下拉列表的 tab 键控制次序。519Yes
type返回下拉列表的表单类型。419Yes
属性描述IEFOW3C
className设置或返回元素的 class 属性。519Yes
dir设置或返回文本的方向。519Yes
lang设置或返回元素的语言代码。519Yes
title设置或返回元素的 title 属性。519Yes

这里使用add()方法加加新项,remove()移除项,selectedIndex属性得到当前选择行,options[]集合操作select项集合等,代码如下:

ExpandedBlockStart.gif 代码
         // select 操作

        
// 拷贝select 
         function  jsSelectConpy(sourceSelect, targetSelect) {
            
for  ( var  i  =   0 ; i  <  sourceSelect.options.length; i ++ ) {
                jsAddItemToSelect(targetSelect, sourceSelect.options[i].text, sourceSelect.options[i].value);
            }
            jsSelectItemByValue(targetSelect, sourceSelect.options[sourceSelect.selectedIndex].text);
        }

        
// 判断select选项中 是否存在Value="paraValue"的Item 
         function  jsSelectIsExitItem(objSelect, objItemValue) {
            
var  isExit  =   false ;
            
for  ( var  i  =   0 ; i  <  objSelect.options.length; i ++ ) {
                
if  (objSelect.options[i].value  ==  objItemValue) {
                    isExit 
=   true ;
                    
break ;
                }
            }
            
return  isExit;
        }

        
// 向select选项中 加入一个Item
         function  jsAddItemToSelect(objSelect, objItemText, objItemValue) {
            
// 判断是否存在
             if  ( ! jsSelectIsExitItem(objSelect, objItemValue)) {
                
var  varItem  =   new  Option(objItemText, objItemValue);
                objSelect.options.add(varItem);
            }
        }

        
// 从select选项中 删除一个Item 
         function  jsRemoveItemFromSelect(objSelect, objItemValue) {
            
if  (jsSelectIsExitItem(objSelect, objItemValue)) {
                
for  ( var  i  =   0 ; i  <  objSelect.options.length; i ++ ) {
                    
if  (objSelect.options[i].value  ==  objItemValue) {
                        objSelect.options.remove(i);
                        
break ;
                    }
                }
            }
        }

        
// 修改select选项中 value="paraValue"的text为"paraText" 
         function  jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {
            
// 判断是否存在   
             if  (jsSelectIsExitItem(objSelect, objItemValue)) {
                
for  ( var  i  =   0 ; i  <  objSelect.options.length; i ++ ) {
                    
if  (objSelect.options[i].value  ==  objItemValue) {
                        objSelect.options[i].text 
=  objItemText;
                        
break ;
                    }
                }
            }
        }

        
// 设置select中ItemText为选中 
         function  jsSelectItemByValue(objSelect, objItemText) {
            
// 判断是否存在   
             var  isExit  =   false ;
            
for  ( var  i  =   0 ; i  <  objSelect.options.length; i ++ ) {
                
if  (objSelect.options[i].text  ==  objItemText) {
                    objSelect.options[i].selected 
=   true ;
                    isExit 
=   true ;
                    
break ;
                }
            }
            
return  isExit;
        } 

 

完整实例效果如下图:

使用VS2008编写的实例源代码:/Files/tqlin/jsDemo.rar

参考资料:http://www.w3school.com.cn/

 

转载于:https://www.cnblogs.com/tqlin/archive/2010/10/21/1857329.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值