Javascript 有选择地选择JQuery选择器

Javascript 有选择地选择JQuery选择器,javascript,jquery,Javascript,Jquery,我有下面的HTML <i class="up_icon" id="1" /> <p class="position">1</p> <i class="down_icon" id="1" /> 我在这里遗漏了什么?您不应该将同一ID分配给多个标记 此外: 根据HTML规范: ID和名称标记必须以字母[a-Za-z]开头,并且可以是 后跟任意数量的字母、数字[0-9],连字符-, 下划线、冒号和句点 决不应将同一ID分配给多个标记 此外: 根据HTM

我有下面的HTML

<i class="up_icon" id="1" />
<p class="position">1</p>
<i class="down_icon" id="1" />

我在这里遗漏了什么?

您不应该将同一ID分配给多个标记

此外:

根据HTML规范:

ID和名称标记必须以字母[a-Za-z]开头,并且可以是 后跟任意数量的字母、数字[0-9],连字符-, 下划线、冒号和句点


决不应将同一ID分配给多个标记

此外:

根据HTML规范:

ID和名称标记必须以字母[a-Za-z]开头,并且可以是 后跟任意数量的字母、数字[0-9],连字符-, 下划线、冒号和句点


您应该切换您的类和id定义。请尝试以下方法:

<i id="up_icon" class="1" />
<p class="position">1</p>
<i id="down_icon" class="1" />

var u = $("#up_icon.1");

var d = $("#down_icon.1");

您应该切换您的类和id定义。请尝试以下方法:

<i id="up_icon" class="1" />
<p class="position">1</p>
<i id="down_icon" class="1" />

var u = $("#up_icon.1");

var d = $("#down_icon.1");
可以选择.up\u icon1,但不能选择.down\u icon1

这是因为重复ID是无效的HTML,并且会抛出选择器

jQuery要求您在页面上具有唯一的ID,否则您将遇到意外行为

取自jQuery id选择器

每个id值在文档中只能使用一次。如果超过 一个元素被分配了相同的ID,即使用该ID的查询 将仅选择DOM中第一个匹配的元素。这种行为 然而,不应依赖于;包含多个文档的文档 使用相同ID的元素无效

将您的HTML更改为:

<i class="up_icon" id="1" />
<p class="position">1</p>
<i class="down_icon" id="2" />
现在您可以选择.up\u icon1或.down\u icon2

显然,如果你能找到一种方法来应用更多的描述性标识符,而不是简单的数字,以防止任何事情重复得更好。 如果需要,还可以使用可选的数据属性data value=1来存储任何序列或记录id。jQuery选择器对于数据属性或类中的相同值没有问题。

可以选择.up\u icon1,但不能选择.down\u icon1

这是因为重复ID是无效的HTML,并且会抛出选择器

jQuery要求您在页面上具有唯一的ID,否则您将遇到意外行为

取自jQuery id选择器

每个id值在文档中只能使用一次。如果超过 一个元素被分配了相同的ID,即使用该ID的查询 将仅选择DOM中第一个匹配的元素。这种行为 然而,不应依赖于;包含多个文档的文档 使用相同ID的元素无效

将您的HTML更改为:

<i class="up_icon" id="1" />
<p class="position">1</p>
<i class="down_icon" id="2" />
现在您可以选择.up\u icon1或.down\u icon2

显然,如果你能找到一种方法来应用更多的描述性标识符,而不是简单的数字,以防止任何事情重复得更好。
如果需要,还可以使用可选的数据属性data value=1来存储任何序列或记录id。jQuery选择器对于数据属性或类中的相同值没有问题。

您不应该像那样复制ID。ID在整个文档中应该是唯一的

在您的情况下,可以使用jQuery属性选择器函数。见下文

<i class="up_icon" data-id="1"/>
<p class="position">1</p>
<i class="down_icon" data-id="1"/>

然后您可以通过.up_图标[data id=1]和.down_图标[data id=1]访问它们。

您不应该像那样复制id。ID在整个文档中应该是唯一的

在您的情况下,可以使用jQuery属性选择器函数。见下文

<i class="up_icon" data-id="1"/>
<p class="position">1</p>
<i class="down_icon" data-id="1"/>

然后您可以通过.up_图标[data id=1]和.down_图标[data id=1]访问它们。

您不应该像那样复制id。ID在文档中应该是唯一的。Immagine有两个vladiim,一个离另一个稍远,如果我说:vladiim。。。哪一个会看着我?记住,在为类切换ID之后,只有IE和现代浏览器支持数字类名称,我会有选择地将这个问题命名为jQuery选择器选择:P@roXon我建议使用Vega的解决方案,而不是切换,因为vladim可能想重复代码。你不应该像那样复制ID。ID在文档中应该是唯一的。Immagine有两个vladiim,一个离另一个稍远,如果我说:vladiim。。。哪一个会看着我?记住,在为类切换ID之后,只有IE和现代浏览器支持数字类名称,我会有选择地将这个问题命名为jQuery选择器选择:P@roXon我建议维加的解决方案,而不是切换,因为弗拉迪姆可能想要重复代码。他可能想要几个每个标签都有,所以这个策略对他没有帮助。我投票支持数据id策略。他可能希望每个都有几个标签,所以这个策略对他没有帮助。我投票支持数据id策略。