javascript的event.srcElement.getAttribute方法

我的jsp部分代码如下:
<table width="1100" border="0" cellpadding="0" cellspacing="1" class="content12" id="tableid">
<thead><tr bgcolor="#CCCCCC">
<TH nowrap sorttype="string" onclick="doInit()" style="cursor:hand"><b>维修单号</b></TH>
。。。。
</table>
我的部分script如下:
function doInit(){
var table = document.getElementById("tableid");
alert("table==="+table);
var oSrc=event.srcElement;
var sSortType=oSrc.getAttribute("sorttype");
alert("sSortType==="+sSortType);
}为什么弹出的sSortType为“sSortType=null”而不是我要的"sSortType=string"?
loverofdream 我照着你的方法试了下,变成了“sSortType===undefinded”

第1个回答  2008-05-20
补充:当你点到文字的时候,srcElement是b标签,当点到文字外面的时候srcElement是th标签,这个我刚才忽略了

sorttype是你自定义的,不是html标签的内置属性,所以不能用getAttribute得到,你直接写就可以了,我给你改好了,你看一下吧

<table width="1100" border="0" cellpadding="0" cellspacing="1" class="content12" id="tableid">
<thead><tr bgcolor="#CCCCCC">
<TH nowrap sorttype="string" onclick="doInit()" style="cursor:hand"><b>维修单号</b></TH>
</tr>
</thead>
</table>
<script>
function doInit(){
var table = document.getElementById("tableid");
alert("table==="+table);
var oSrc=event.srcElement;
if (oSrc.tagName == 'B') {
oSrc = oSrc.parentElement;
}
var sSortType=oSrc.sorttype;
alert("sSortType==="+sSortType);
}
</script>
第2个回答  2008-05-20
loverofdream 给的答案中:
if (oSrc.tagName == 'B') {
oSrc = oSrc.parentElement;
}
中的oSrc.tagName=='B' 应改为oSrc.tagName.toUpperCase()=='B'
才是正确的!!
第3个回答  2008-05-20
<script>
function doInit() {
alert(event.srcElement.parentElement.getAttribute('sorttype'));
}
</script>
<table>
<TH nowrap sorttype="string" onclick="doInit()" style="cursor:hand"><b id="test">维修单号</b></TH>
</table>本回答被网友采纳
相似回答