0

これが私の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は初めてです。助けてください。

ありがとう

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 に答える