javascript - JQuery 选择器不工作,而 javascript DOM 工作正常

标签 javascript jquery dom jquery-selectors

我在使用 JQuery 选择正确的元素时遇到问题。 使用 javascript DOM 工作正常,但使用 JQuery 我似乎无法获得正确的元素...

这工作正常(“中”长度为 1,“小”长度为 0):

var medium = document.getElementById("Ribbon.Documents.WorkflowButtons.Workflow" + button + "-Medium");
var small = document.getElementById("Ribbon.Documents.WorkflowButtons.Workflow" + button + "-Small");

alert("Medium: " + jQuery(medium).length + " - Small: " + jQuery(small).length + " - State: " + workflowButtonState);

虽然这不起作用(两个长度都等于 0,这是不正确的):

var medium = jQuery("#Ribbon.Documents.WorkflowButtons.Workflow" + button + "-Medium");
var small = jQuery("#Ribbon.Documents.WorkflowButtons.Workflow" + button + "-Small");

alert("Medium: " + jQuery(medium).length + " - Small: " + jQuery(small).length + " - State: " + workflowButtonState);

另一个不起作用的示例是使用 .html()

工作(返回 html):

var button = document.getElementById("Ribbon.Documents.WorkflowButtons.Workflow" + buttonId + "-" + state);
$(button).css("display", "none");
alert($(button).html());

不工作(.html() 返回 NULL)

var button = $("#Ribbon.Documents.WorkflowButtons.Workflow" + buttonId + "-" + state);
$(button).css("display", "none");
alert($(button).html());

知道为什么会发生这种情况吗?我正在同一页面上执行此操作。所以相同的 HTML 元素等结果应该是相同的,不是吗?

我已验证“document.readyState”等于“完整”

PS:我使用了两种语法:jQuery 和 $。这是为了确保没有其他问题。

谢谢!

最佳答案

句点在 jQuery 中具有特殊含义。所以你需要用斜杠来转义它们。不幸的是,斜杠也是 Javascript 字符串的转义字符,因此您必须使用双斜杠:

jQuery("#Ribbon\\.Documents\\.WorkflowButtons\\.Workflow" + button + "-Medium");

关于javascript - JQuery 选择器不工作,而 javascript DOM 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12347696/

相关文章:

php - 您如何检测网站访问者的国家/地区(特别是美国与否)?

javascript - 无法完成 .getJSON 请求?

javascript - jQuery 从 URL 中删除哈希值

jQuery-turbolinks - link_to 确认 : pops up several times times in Rails

php - 不错的搜索网址

javascript - jQuery 问题 : Does using . remove() 也正确删除子项?

javascript - Bootstrap 两列动画闪烁修复

javascript - 在没有 ajax 调用的情况下使用带有 @HTML.BeginForm 的 formdata append

javascript - 检测 attachShadow 事件

php - 使节点在更改 XML 结构后忽略命名空间(前缀)。 PHP DOM文档