我在我的项目中使用以下标记代码。IE 8 nextSibling属性表现奇怪
<td>
<A style="FONT-SIZE: small" id=MainContent_RefDataMgr_GridRegion_lblRegionName_8 title="Click to select row" onclick=javascript:OnRowClick(this); href="javascript:__doPostBack('ctl00$MainContent$RefDataMgr$GridRegion$ctl10$lblRegionName','')">test </A>
<INPUT id=MainContent_RefDataMgr_GridRegion_hdnRegionId_8 value=82 type=hidden name=ctl00$MainContent$RefDataMgr$GridRegion$ctl10$hdnRegionId>
</td>
function OnRowClick(objRow) {
var hdnSelectdGridRowRegionId = document.getElementById('<%=hdnGridRowSelectedRegionId.ClientID%>');
hdnSelectdGridRowRegionId.value = objRow.nextSibling.nextSibling.value;
}
所以,如果我的锚元素包含在他的文字(测试),那么objRow.nextSibling.nextSibling.value
不工作的任何额外的空间,我必须使用objRow.nextSibling.value
但在Chrome即使文本包含任何额外的空间或没有它的正常工作。
请让我知道这个地区可以做些什么。
在此先感谢。
使用jQuery代替跨浏览器支持$(objRow).next()。val(); – frosdqy 2014-12-02 07:04:30
@frosdqy感谢您的回复。目前我正在使用jquery而不是它,但我想知道原因,因为html和dom在两个浏览器中都是相同的,那么为什么我必须使用两个级别的兄弟姐妹。 – 2014-12-02 07:12:09