我看到了ID选择器的实现,如下所示:
$("*[id*=foo]").val()
为什么要使用它?它与jQuery中的id选择器相似吗?主要区别是什么?请解释一下
发布于 2018-05-31 16:48:44
已更新答案
$("*[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 />
希望能有所帮助。
https://stackoverflow.com/questions/50619752
复制相似问题