0

デフォルトでフォームのラベルとテキストボックスを非表示にし、オプションが選択されたときにそれらを表示しようとしています。コードが失敗し続ける理由がわかりません。

<tr>
   <td><label>My Label</label></td>
   <td>
      <select name="1" id="1">
         <option value="2" selected="selected">2</option>
         <option value="3">3</option>
         <option value="4">4</option>

         <option value="Other">Other</option>
       </select>
   </td>
   <td><label class=".otherHide">Other</label></td>
   <td><input class=".otherHide" type="text" name="otherSpec" id="otherSpec" /></td>
</tr>

jQuery(document).ready(function()
{
   jQuery('#1').change(function()
   {
      jQuery('#1 option:selected').each(function()
      {
         if (jQuery(this).text() == 'Other')
         {
            jQuery('.otherHide').each(function()
            {
               jQuery(this).animate({opacity: 0.0}, 2000);
            });
         }
      });
   }).change();
});

現在、テストしていたフォーム要素を非表示にするように設定されています。

私はもともとクラスを使用していなかったので、それを横断しようとしました。それで駄目だったので、授業に頼って失敗しました。

jQuery が要素を選択しないのはなぜですか? >.<

4

1 に答える 1

1

HTML 4.01仕様から注目に値します:

IDおよびNAMEトークンは文字 ([A-Za-z]) で始まり、その後に任意の数の文字、数字 ([0-9])、ハイフン ("-")、アンダースコア ("_") が続く場合があります、コロン (":")、およびピリオド (".")。

それ以外にotherHide、HTML にクラスを持つ要素はありません。

于 2009-10-22T05:29:52.510 に答える