为什么jQuery选择器适用于Chrome而不适用于Safari?

时间:2017-09-29 21:44:04

标签: javascript jquery html google-chrome safari

我有以下代码:



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;
&#13;
&#13;

jQuery选择器的位置是:

input[name*=hello

检查选择器未正确写入input[name*=hello,因为缺少]

在Chrome上我得到了div [id = result]我输入的数量与名称&#34;你好&#34; (2)。

但是在Safari上我在控制台上收到错误:

enter image description here

哪个是正确的,所以问题是:为什么Chrome&#34;自动更正&#34;选择器?是否有可能消除这种行为?

1 个答案:

答案 0 :(得分:0)

如果选择器不包含任何jQuery扩展,jQuery将使用浏览器的内置document.querySelectorAll()函数。当选择器无效时,行为未指定,因此浏览器之间可能不同。有些浏览器尝试修复&#34;选择器并返回有用的东西,而其他浏览器发出错误信号。你不应该依赖于此 - 写出正确的选择器。