3

シンプルな HTML フォームを持っていますが、何らかの理由で jQuery が探している要素を見つけることができません。

HTML:

    <form id="form">
                            <fieldset>
                    <table>
                        <tr class="row">
                            <td class="label">Street</td>
                            <td class="field"><input type="text" size="50" value="" id="s.street"></td>
</tr>
</table>
</fieldset>
        <fieldset>
                        <tr class="row">
                            <td class="label">Street</td>
                            <td class="field"><input type="text" size="50" value="" id="b.street"></td>
</tr>
</table>
</fieldset>
        </form>

jQuery :

$(document).ready(
                function() {

                    $("input[id='s.street']").keyup(function() {
                    $('#b.street').val($(this).val());

                    });
});

コンソール ログにエラーはありません。

4

6 に答える 6

4

要素にその正確な ID が必要な場合は、次を使用します。

$('#b\\.street')​
于 2012-12-15T03:48:36.770 に答える
2

ID は一意である必要があるため、input タグでフィルタリングする必要はありません。.さらに、 ID 名 の の前にエスケープ シーケンスを追加する必要があります。$('#s\\.street')正しいセレクターです。私は実際には使用しないことをお勧めし.ます...

于 2012-12-15T03:53:18.773 に答える
0

ID 名が jquery セレクター構文と競合しています。

要素の ID を定義するときは、 # を使用しないでください。またはID内のスペース

于 2012-12-15T03:42:49.007 に答える
0

命名規則に問題があります。.名前の をハイフンに置き換えます。

そう:

<input type="text" size="50" value="" id="s.street">

なる

<input type="text" size="50" value="" id="s-street">

次のように jquery で選択します。

$("#s-street");
于 2012-12-15T03:43:03.813 に答える
0

Sizzle (jQuery が実装する JavaScript セレクター ライブラリ) はs.street、 を要素として、sまたはbのクラスと見なしstreetます。の id を持つ要素とは対照的にs.street

于 2012-12-15T03:50:04.387 に答える
-2

ここから: HTML の id 属性の有効な値は何ですか? jquery は、ピリオドとコロンを含む ID に問題があるようです。それらを削除してみて、動作するかどうかを確認してください。

于 2012-12-15T03:42:35.167 に答える