当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 取得父标签

Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
(转载)JavaScript中匿名函数,函数直接量和闭包
简单的无缝滚动程序-仅几行代码
Javascript中的数学函数集合
javascript之大字符串的连接的StringBuffer 类
javascript之对系统的toFixed()方法的修正
用javascript实现自定义标签
js在客户端验证密码强度,兼容FireFox和IE
javascript背景颜色按时变换
脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%
javascript语句中的CDATA标签的意义
用javascript实现分割提取页面所需内容
网上抓的一个特效
js之点击 超连接,提示一个层.点击空白.层消失
模拟用户操作Input元素,不会触发相应事件
弹出广告特效代码(一个IP只弹出一次)
(仅IE下有效)关于checkbox 三态
JavaScript Archive Network 集合
关于__defineGetter__ 和__defineSetter__的说明
textContent在Firefox下与innerText等效的属性

Javascript 中的 取得父标签


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 238 ::
收藏到网摘: n/a

取得父标签
FF 下没有 event
用 arguments[0]
FF 下没有 srcElement
用 target
FF 下没有 parentElement
用 parentNode
复制代码 代码如下:

function obj_event_onsomething(e){
var e=window.event?window.event:e;
var srcEle=e.srcElement?e.srcElement:e.target;
var theObjectYouWant=srcEle.parentNode;
}

刚刚又发现,FF下的childNodes比IE下的要大1
复制代码 代码如下:
o.previousSibling.href || o.previousSibling.previousSibling.href
前面一个表达式用于IE下,后面一个用于FireFox下.
因为在IE下,XMLDom没有preserveWhiteSpace这个属性,即:把空白也当作一个节点,而IE则默认为false,即把空白不看成一个节点.
这里说到了XMLDom,似乎和上面所说的不相关,但是在FireFox下 previousSibling就是空白,除非两个HTML标签之间没有任何形式的空格.

这个空白指的是 #text 节点
复制代码 代码如下:
<div>
<a>123</a>
6546
<b>321</b>
</div>

这里 div 应该有5个子节点
1. div 标记后到 a 标记前的那个回车换行
2. a 标记
3. \r\n6546\r\n
4. b 标记
5. b 标记后到 div 结束标记前的那个回车换行