gpt4 book ai didi

jquery - $ ("#id") 仅选择第一个元素,但 $ ("div#id") 选择两个元素?

转载 作者:行者123 更新时间:2023-12-01 02:06:22 24 4
gpt4 key购买 nike

<!DOCTYPE HTML>

<script src='http://code.jquery.com/jquery-latest.min.js'></script>

<body>

<div id='mydiv'>Hello, buddy.</div>
<div id='mydiv'>Hello, friend.</div>

</body>

在 JQuery 中,如果我 $('#mydiv')它只会选择第一个 div,但如果我这样做 $('div#mydiv')它将选择所有这些。

我知道指定元素和 id 会阻止选择具有相同 id 但不是 div 的其他元素。

这不是bug吗?不应该$('#mydiv')选择 id 为“mydiv”的所有元素?

最佳答案

jQuery 说明

此外,在您的情况下,jQuery 应仅选择一个元素,以及 ID 的第一个元素。由于您还给出了 div,因此它使用 getElementsByTagName,并将属性与 ID 进行匹配。因此,它返回所有实例。如果我错了,请纠正我。

建议

根据网络标准,id 属性必须是唯一的。因此,每个元素都应该有唯一的 ID。如果您想将事物用于多个元素,则可以使用类。

此外,如果您有多个 ID,您的 HTML 将不会验证。

此外,来自XHTML 1.0 Spec

In XML, fragment identifiers are oftype ID, and there can only be asingle attribute of type ID perelement. Therefore, in XHTML 1.0 theid attribute is defined to be of typeID. In order to ensure that XHTML 1.0documents are well-structured XMLdocuments, XHTML 1.0 documents MUSTuse the id attribute when definingfragment identifiers on the elementslisted above. See the HTMLCompatibility Guidelines forinformation on ensuring such anchorsare backward compatible when servingXHTML documents as media typetext/html.

关于jquery - $ ("#id") 仅选择第一个元素,但 $ ("div#id") 选择两个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14410693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com