JS寻找子父结点上的类型
2008-06-20 18:08
162 查看
老话。没有技术含量。只不过是作为储备而用。
<script language="javascript">
function ShowOrHideSpan(elmt)
{
var srcElmt = event.srcElement;
if ( srcElmt && srcElmt.tagName == 'TD' && srcElmt.name == 'title' )
{
var span = FindChildElement(elmt, 'SPAN');
if ( span.style.display == 'none' )
{
span.style.display = 'inline';
}
else
{
span.style.display = 'none';
}
}
}
function FindParentElement(element, tagName)
{
while(element != null && element.tagName != tagName )
{
element = element.parentElement;
}
if ( element != null && element.tagName == tagName )
{
return element;
}
return null;
}
function FindChildElement(element, tagName)
{
var isFounded = false;
var elements = element;
var result = element;
if ( element.tagName == tagName )
{
return element;
}
while(!isFounded && elements != null && result != null && result.tagName != tagName)
{
elements = elements.childNodes;
for( var i=0 ; elements != null && i < elements.length ; i++ )
{
result = elements.item(i);
var result2 = FindChildElement(result, tagName);
if ( result == null || result2 == null )
{
continue;
}
if ( result.tagName == tagName || result2.tagName == tagName )
{
if ( result2.tagName == tagName )
{
result = result2;
}
isFounded = true;
break;
}
}
}
if ( isFounded )
{
return result;
}
else
{
return null;
}
}
</script>
<table border="1" ondblclick="ShowOrHideSpan(this)" style="border-collapse: collapse;">
<tr>
<td name="title">
Tilte</td>
</tr>
<tr>
<td>
<span>Content: asdf asdf asdf</span></td>
</tr>
</table>
<script language="javascript">
function ShowOrHideSpan(elmt)
{
var srcElmt = event.srcElement;
if ( srcElmt && srcElmt.tagName == 'TD' && srcElmt.name == 'title' )
{
var span = FindChildElement(elmt, 'SPAN');
if ( span.style.display == 'none' )
{
span.style.display = 'inline';
}
else
{
span.style.display = 'none';
}
}
}
function FindParentElement(element, tagName)
{
while(element != null && element.tagName != tagName )
{
element = element.parentElement;
}
if ( element != null && element.tagName == tagName )
{
return element;
}
return null;
}
function FindChildElement(element, tagName)
{
var isFounded = false;
var elements = element;
var result = element;
if ( element.tagName == tagName )
{
return element;
}
while(!isFounded && elements != null && result != null && result.tagName != tagName)
{
elements = elements.childNodes;
for( var i=0 ; elements != null && i < elements.length ; i++ )
{
result = elements.item(i);
var result2 = FindChildElement(result, tagName);
if ( result == null || result2 == null )
{
continue;
}
if ( result.tagName == tagName || result2.tagName == tagName )
{
if ( result2.tagName == tagName )
{
result = result2;
}
isFounded = true;
break;
}
}
}
if ( isFounded )
{
return result;
}
else
{
return null;
}
}
</script>
<table border="1" ondblclick="ShowOrHideSpan(this)" style="border-collapse: collapse;">
<tr>
<td name="title">
Tilte</td>
</tr>
<tr>
<td>
<span>Content: asdf asdf asdf</span></td>
</tr>
</table>
相关文章推荐
- 简述js来判断数据类型
- 读JS高级——第五章-引用类型 _记录
- JS的类型转换和float取n位小数
- JS引用类型之 Object类型
- js数据类型判断和数组判断
- 全面解析js中的数据类型与类型转换
- js变量类型及其声明方式
- 工作日常--js引用类型数据深拷贝与浅拷贝
- 关于javaBean中boolean类型变量的set和get注入后传到前端JS中的问题
- 【JS】判断浏览器类型
- JS判断IE,FF等浏览器类型
- JS数据类型lianxi
- js数据类型
- js中string和number类型互转换技巧
- JS判断类型及强制类型转换false,null,undefined,0,‘’,NaN,<, >
- js面向对象开发(四) 其他引用类型(encodeURI 、encodeURIComponent编码,eval方法 ,escape unescape 给汉字转码 )
- JS 判断浏览器类型
- js的数据类型
- JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍
- JS 判断页面浏览器类型