【发布时间】:2018-03-11 20:36:42
【问题描述】:
我有以下代码:
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>
jQuery 选择器在哪里:
input[name*=hello
检查选择器没有正确写入input[name*=hello,因为缺少]。
在 Chrome 上,我可以在 div[id=result] 上看到我输入的名称为“hello”(2) 的数量。
但在 Safari 上,我在控制台上收到错误:
哪个是正确的,所以问题是:为什么 Chrome 会“自动更正”选择器?是否可以消除这种行为?
【问题讨论】:
-
这也适用于 Firefox,即使是
document.querySelectorAll。 -
也许,在他们后来的版本中,他们非常复杂,他们自己修复了选择器。与今天几乎所有浏览器修复损坏的 html 相同:
<div> <h1> </div>已修复。 -
'使用严格';对结果没有影响。
标签: javascript jquery html google-chrome safari