0

这是我的 JS 代码

var inputid = $("#"+parentId).next().attr('id');
var tdid = $("#"+inputid).next().attr('id');

这里'parentId'是我函数中的一个参数。基本上 parentId 是 td 的 id,在 td 之后我有一个隐藏的文本字段,然后是另一个 td。

td->隐藏文件->td

首先我得到第一个 td 的 id,通过使用该 id 得到隐藏字段的 id,然后通过使用隐藏字段的 id 得到下一个 td 的 id。

这在除 IE 之外的所有浏览器中都可以正常工作。当我提醒它时,它给出了“未定义”。

这是我的html

<td id="tone_one" class="ttd_class class_tone" height="25px;" style="border-left: 3px solid #000000; border-right: 3px solid #000000;" align=center valign=bottom bgcolor="#ffffff" >&nbsp;</td><input type="hidden" id="tone_one_txt" name="tone_one_txt">

<td id="tone_two" class="ttd_class class_ttwo" height="25px;"  style="border-left: 3px solid #000000; border-right: 3px solid #000000;" align=center valign=bottom bgcolor="#ffffff" >&nbsp;</td><input type="hidden" id="tone_two_txt" name="tone_two_txt">

我是 JQuery 的新手。请帮忙。

谢谢

4

2 回答 2

1

问题是您的 HTML 没有被 IE 正确解释。只需将隐藏的输入字段放在相同td的位置,然后尝试下面的代码。它适用于所有浏览器:

HTML

<table>
    <tr>
        <td id="tone_one" class="ttd_class class_tone" height="25px;" style="border-left: 3px solid #000000; border-right: 3px solid #000000;" align=center valign=bottom bgcolor="#ffffff">&nbsp;
            <input type="hidden" id="tone_one_txt" name="tone_one_txt">
        </td>
        <td id="tone_two" class="ttd_class class_ttwo" height="25px;" style="border-left: 3px solid #000000; border-right: 3px solid #000000;" align=center valign=bottom bgcolor="#ffffff">&nbsp;
            <input type="hidden" id="tone_two_txt" name="tone_two_txt">
        </td>
    </tr>
</table>

JS

var inputid = $("#"+parentId).children().attr('id');
var tdid = $("#"+inputid).closest('td').next().attr('id');
于 2013-03-29T13:56:42.030 回答
-2

像这样使用。

var inputid = $("#parentId").next().attr('id');
于 2013-03-29T13:44:36.060 回答