最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

查詢綁定數(shù)據(jù)島的表格中的文本并修改顯示方式的js代碼

 更新時(shí)間:2009年12月15日 17:05:43   作者:  
查詢綁定數(shù)據(jù)島的表格中的文本并修改顯示方式的js代碼
復(fù)制代碼 代碼如下:

<script language="JavaScript">
function findAll(s){
if(s.length==0){
alert("請(qǐng)輸入查詢關(guān)鍵字");
}

s=encode(s);
var TDs=document.all.DataT1.all.tags("TD");
var num=0;
for(var i=0;i<TDs.length;i++){
var tdObj=TDs[i];
var obj=tdObj.childNodes[0];
if(!obj.className || obj.className!="highlight"){
var t=obj.innerHTML.replace(/<span\s+class=.?highlight.?>([^<>]*)<\/span>/gi,"$1");
obj.innerHTML=t;
var cnt=loopSearch(s,obj);
t=obj.innerHTML;
var r=/{searchHL}(({(?!\/searchHL})|[^{])*){\/searchHL}/g;
t=t.replace(r,"<span class='highlight'>$1</span>");
obj.innerHTML=t;
num=num+cnt;
}
}
alert("查找到關(guān)鍵字"+num+"處");

}
function encode(s){
return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/([\\\.\*\[\]\(\)\$\^])/g,"\\$1");
}
function decode(s){
return s.replace(/\\([\\\.\*\[\]\(\)\$\^])/g,"$1").replace(/>/g,">").replace(/</g,"<").replace(/&/g,"&");
}

function loopSearch(s,obj){
var cnt=0;
if(obj.nodeType==3){
cnt=replace(s,obj);
return cnt;
}
for(var i=0,c;c=obj.childNodes[i];i++){
if(!c.className || c.className!="highlight")
cnt+=loopSearch(s,c);

}
return cnt;
}

function replace(s,dest){
var r=new RegExp(s,"gi");
var tm=null;
var t=dest.nodeValue;
var cnt=0;
var arr=new Array();
var a="";
var b="";
if(tm=t.match(r)){
cnt=tm.length;
a=tm.toString();
arr=a.split(",");
for(var i=0;i<arr.length;i++)
b="{searchHL}"+arr[i]+"{/searchHL}";
t=t.replace(r,b);
dest.nodeValue=t;
}
return cnt;
}

</script>
<style type="text/css">
.highlight{background:blue;font-weigh:bold;color:black;}
</style>

以上方法需要注意的有兩點(diǎn):1,在findAll 中obj取到最小單位,否則的話替換會(huì)出亂,我在實(shí)踐中體會(huì)這一點(diǎn)主要是和數(shù)據(jù)島綁定有關(guān),一般的文本是不需要這么小心的.2,replace方法將tm拆分成數(shù)組,也和表格有關(guān),一般的文本不需要拆分

如果是一般的文本可以如下寫(xiě)

復(fù)制代碼 代碼如下:

<script language="JavaScript">
function findAll(s){
if (s.length==0){
alert('搜索關(guān)鍵詞未填寫(xiě)!');
return false;
}
s=encode(s);
var obj=document.getElementsByTagName("body")[0];
var t=obj.innerHTML.replace(/<span\s+class=.?highlight.?>([^<>]*)<\/span>/gi,"$1");
obj.innerHTML=t;
var cnt=loopSearch(s,obj);
t=obj.innerHTML
var r=/{searchHL}(({(?!\/searchHL})|[^{])*){\/searchHL}/g
t=t.replace(r,"<span class='highlight'>$1</span>");
obj.innerHTML=t;
alert("搜索到關(guān)鍵詞"+cnt+"處")
}
function replace(s,dest){
var r=new RegExp(s,"g");
var tm=null;
var t=dest.nodeValue;
var cnt=0;
if (tm=t.match(r)){
cnt=tm.length;
t=t.replace(r,"{searchHL}"+decode(s)+"{/searchHL}")
dest.nodeValue=t;
}
return cnt;
}

</script>



html部分
復(fù)制代碼 代碼如下:

<XML ID="DataBinding1" SRC="datasource.xml"></XML>
<body>
<input name="s" id="s" title="搜索內(nèi)容:"/><input type="submit" value="搜索" onClick="findAll(s.value);return false;"/>
<table width="100%" valign="top" DATASRC="#DataBinding1" id="DataT1" BORDER="1" CELLPADDING="3">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Desc</th>
</tr>
</thead>
<tbody>
<tr>
<td><span name="ID" id="ID" datafld="CODE_ID"> </span></td>
<td><span name="name" id="name" datafld="CODE_NAME"> </span></td>
<td><span name="desc" id="desc" datafld="CODE_DESC"> </span></td>
</tr>
</tbody>
</table>
</body>

復(fù)制代碼 代碼如下:


<?xml version="1.0" encoding="UTF-8"?>
<INVENTORY>
<ROW>
<CODE_ID>PCOMM11</CODE_ID>
<CODE_NAME>caracter handle</CODE_NAME>
<CODE_DESC>hkdlhglfghfkgfk</CODE_DESC>
</ROW>
<ROW>
<CODE_ID>PCOMM12</CODE_ID>
<CODE_NAME>digital handle</CODE_NAME>
<CODE_DESC>hkdlhglfghfkgfkgggg</CODE_DESC>
</ROW>
</INVENTORY>

相關(guān)文章

  • 微信小程序接入微信支付實(shí)現(xiàn)過(guò)程詳解

    微信小程序接入微信支付實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了微信小程序接入微信支付實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-12-12
  • JS+DIV+CSS實(shí)現(xiàn)的經(jīng)典標(biāo)簽切換效果代碼

    JS+DIV+CSS實(shí)現(xiàn)的經(jīng)典標(biāo)簽切換效果代碼

    這篇文章主要介紹了JS+DIV+CSS實(shí)現(xiàn)的經(jīng)典標(biāo)簽切換效果代碼,涉及JavaScript基于鼠標(biāo)事件針對(duì)頁(yè)面元素動(dòng)態(tài)變換的實(shí)現(xiàn)技巧,頁(yè)面美觀實(shí)用,需要的朋友可以參考下
    2015-09-09
  • JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法

    JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法

    這篇文章主要介紹了JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法,因?yàn)槲覀冃枰刂埔幌麻L(zhǎng)度,需要的朋友可以參考下
    2016-01-01
  • JavaScript中數(shù)組遍歷方法合集大全

    JavaScript中數(shù)組遍歷方法合集大全

    在JavaScript中數(shù)組遍歷是常見(jiàn)的操作,有多種方法可以實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于JavaScript中數(shù)組遍歷方法合集的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法

    js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法

    最近做歌一個(gè)小項(xiàng)目,但是要放到我們的app上,然而需要橫豎屏使用不同的樣式,本文就來(lái)介紹一下js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法,感興趣的可以了解一下
    2021-07-07
  • 小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版

    小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版

    這篇文章主要介紹了小程序?qū)崿F(xiàn)自定義導(dǎo)航欄適配完美版,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • javascript實(shí)現(xiàn)表格增刪改操作實(shí)例詳解

    javascript實(shí)現(xiàn)表格增刪改操作實(shí)例詳解

    這篇文章主要介紹了javascript實(shí)現(xiàn)表格增刪改操作的實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了javascript操作表格的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • 基于Flowplayer打造一款免費(fèi)的WEB視頻播放器附源碼

    基于Flowplayer打造一款免費(fèi)的WEB視頻播放器附源碼

    Flowplayer是一款免費(fèi)的WEB視頻播放器。它支持播放flv、swf等流媒體和圖片文件,能夠非常流暢的播放視頻文件,支持自定義配置和擴(kuò)展。下面本篇文章給大家介紹基于Flowplayer打造一款免費(fèi)的WEB視頻播放器,需要的朋友可以參考下
    2015-09-09
  • JS實(shí)現(xiàn)“隱藏與顯示”功能(多種方法)

    JS實(shí)現(xiàn)“隱藏與顯示”功能(多種方法)

    這篇文章主要介紹了JS實(shí)現(xiàn)“隱藏與顯示”功能的多種方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • bootstrap multiselect下拉列表功能

    bootstrap multiselect下拉列表功能

    這篇文章主要為大家詳細(xì)介紹了bootstrap multiselect下拉列表功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評(píng)論

盘山县| 于都县| 佳木斯市| 内江市| 调兵山市| 舞钢市| 上林县| 丹凤县| 溧水县| 大竹县| 那曲县| 潍坊市| 东方市| 荆州市| 宜宾县| 安多县| 临沧市| 绵阳市| 廉江市| 临沂市| 磴口县| 南丰县| 塘沽区| 鹤山市| 延川县| 黄冈市| 洞口县| 资阳市| 永善县| 措勤县| 泽州县| 尖扎县| 沙湾县| 香格里拉县| 香河县| 同江市| 石景山区| 疏附县| 南华县| 嘉荫县| 古蔺县|