JQuery next()。attr()不起作用

时间:2013-03-29 13:42:04

标签: jquery internet-explorer next

这是我的JS代码

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

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

TD-> hiddenfiled-> 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的新手。请帮助。

由于

2 个答案:

答案 0 :(得分:1)

问题是IE未正确解释您的HTML。只需将隐藏的输入字段放在同一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');

答案 1 :(得分:-2)

像这样使用。

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