我有以下代码:
var l = $("input[name*=hello").length;
$('#result').text(l);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input name="hello" type="text">
</div>
<div>
<input name="hello" type="text">
</div>
<div id="result">
</div>
&#13;
jQuery选择器的位置是:
input[name*=hello
检查选择器未正确写入input[name*=hello
,因为缺少]
。
在Chrome上我得到了div [id = result]我输入的数量与名称&#34;你好&#34; (2)。
但是在Safari上我在控制台上收到错误:
哪个是正确的,所以问题是:为什么Chrome&#34;自动更正&#34;选择器?是否有可能消除这种行为?
答案 0 :(得分:0)
如果选择器不包含任何jQuery扩展,jQuery将使用浏览器的内置document.querySelectorAll()
函数。当选择器无效时,行为未指定,因此浏览器之间可能不同。有些浏览器尝试修复&#34;选择器并返回有用的东西,而其他浏览器发出错误信号。你不应该依赖于此 - 写出正确的选择器。