jquery - $ ("#id") 和 $ ("[id=]") 之间的差异

标签 jquery

在我的页面中,由于某种原因(我发现与主题无关,因此不解释),一个 div 被重复,并且在我的 html 中生成了两个具有相同 id 的 div。在编写 jquery 代码来删除除最顶层之外的所有 div 时,我发现 $("#id") 仅返回 1 个元素(注意:现在有两个具有相同 id 的 div),而 $("[id=]") 返回了我 2。所以最后我的代码可以与 $("[id=]") 一起使用,但不能与 $("#id") 一起使用。 有什么理由吗? $("#id") 是否仅返回它找到的具有指定 id 的第一个元素?

请注意,我已经遇到过 thread它有类似的问题但没有回答我的查询

最佳答案

事情是 $("#id") 总是会给出像 document.getelementById() 这样的单一结果,但是当你这样做时 $("[ id=]") 您正在查找给定属性为 id 的所有元素,因此它会返回多个元素,因为它不使用 javascript document.getelementById() 现在。

$("[id=]") 是当您想要从文档中选择一些遵循某些规则的元素时使用的内容,例如

Attribute Contains Selector [name*=”value”]

选择具有指定属性且其值包含给定子字符串的元素。

Attribute Contains Word Selector [name~=”value”]

选择具有指定属性且其值包含给定单词(以空格分隔)的元素。

Attribute Ends With Selector [name$=”value”]

选择具有指定属性且值完全以给定字符串结尾的元素。比较区分大小写。

等等。

有关更多信息,请参阅https://api.jquery.com/category/selectors/ 然而,在您的 HTML 中,您最好将 id 保持为唯一。如果您希望多个元素具有相同的 id,请改用 class

关于jquery - $ ("#id") 和 $ ("[id=]") 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39566764/

相关文章:

javascript - 保存联系方式到手机

javascript - 在 Python 中访问 Jquery 键/值

php - Javascript/jQuery 检查 PHP 输出是否为 json - 如何?

javascript - 从文档中的任何位置访问当前鼠标悬停的元素

javascript - 800 毫秒后删除下一个 div 的类

php - $.ajax Post 请求不发送 POST 数据

Javascript 请求到 SSL 请求

javascript - TypeError : $. validator.methods[method] 未定义

javascript - 从列表中显示不同的弹出窗口。

javascript - 遍历JSON对象