Jquery ( Javascript ) id selector query



我看到了像这样的ID选择器的实现:

$("*[id*=foo]").val()

为什么使用它,它类似于jQuery中的id选择器吗?主要区别是什么?请解释一下

更新了答案

$("*[id*=foo]").val()$("#foo").val()不同:

  • $("#foo")选择一个id为"foo">元素。

  • $("*[id*=foo]")选择属性包含id"foo" 的任何元素。

检查这个例子,我使用了input id="fooAndSomeText"

console.log( $("*[id*=foo]").val() );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="fooAndSomeText" value="bar" disabled />


⋅ ⋅ ⋅

旧答案
在问题格式正确之前,改变其含义!

$("[id=foo]").val()$("#foo").val()会做完全相同的事情。
#是定位id的简写。

第一个语法在这里更长,没有理由使用它。

但是,当您想要以具有特定属性值的元素为目标时,此语法非常有用。使用input检查此示例:

console.log( $("[name=foo]").val() );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="foo" value="bar" disabled />

希望对您有所帮助。

最新更新