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 应该是唯一的,因此您不必使用输入标签进行过滤。.此外,您需要在您的 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器库)会将. 与 id 的元素相反。sbstreets.street

于 2012-12-15T03:50:04.387 回答
-2

从这里开始:HTML 中 id 属性的有效值是什么?看起来 jquery 对带有句点和冒号的 id 有问题。所以尝试删除它们,看看它是否有效。

于 2012-12-15T03:42:35.167 回答