【发布时间】:2016-10-07 19:35:57
【问题描述】:
我在使用 jQuery 时遇到了一个非常奇怪的行为。我有一个像这样的function:
function refreshTechBubble(techID, value) {
$("span.top-right-data[data-id=" + techID + "]").html(value);
}
这个function 刷新了一个特定的技术泡沫。为了使其更简单和技术性更强,让我们声明这个函数改变了通过"span.top-right-data[data-id=" + techID + "]" 的选择器唯一找到的span 的内部html。这一切都很好,一切正常。
但是,在实现这一点时,我犯了一个错字,并且我的实现不正确:
function refreshTechBubble(techID, value) {
$("span.top-right-data[data=id=" + techID + "]").html(value);
}
注意,我写的是 = 而不是 -。虽然修复很简单,而且我目前没有任何问题要解决,但我仍然想知道我在测试期间遇到的行为的原因。有了这样的错字,我希望 jQuery 找不到任何标签,因此不会刷新它们的内部 html,但是,它会刷新所有具有 class 的 top-right-data 的 spans 的内部 HTML。为什么我在修复之前遇到了这种行为,而不是我预期的行为?
【问题讨论】:
-
您需要将其报告为错误。我的猜测是他们只是忽略了无效的选择器。
-
我马上得到一个语法错误。
-
但那是
feature我的朋友;) -
你用的是什么 jQuery 版本?
-
我收到了
Uncaught Error: Syntax error, unrecognized expression: span.top-right-data[data=id=1]的预期
标签: javascript jquery html jquery-selectors