jQuery 找不到使用 id 的元素



我有一个简单的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>

j查询 :

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

我在控制台日志中没有收到任何错误。

如果元素必须具有该确切 id,请使用:

$('#b\.street')​

ID 应该是唯一的,因此您不必使用输入标签进行过滤。 此外,您需要在 ID 名称的.之前添加转义序列。 $('#s\.street')是正确的选择器。 我实际上建议不要使用....

您的 ID 名称与 jquery 选择器语法冲突。

为元素定义 id 时,请勿使用 # . 或 ID 中的任何空格

您的命名约定有问题。 将名称中的.替换为连字符。

所以:

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

成为

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

然后你选择jquery,如下所示:

$("#s-street");

Sizzle(jQuery实现的javascript选择器库)会将s.street视为具有s.street street类的元素sb

从这里: HTML 中 id 属性的有效值是什么? 看起来jQuery在带有句点和冒号的ID方面遇到了问题。 因此,请尝试删除这些内容,看看它是否有效。

相关内容

  • 没有找到相关文章

最新更新