[英]JQuery selector not working while javascript DOM works fine
使用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”等于“ complete”
PS:我使用了两种语法:jQuery和$。 这是为了确保没有其他问题。
谢谢 !
句点在jQuery中具有特殊含义。 因此,您需要使用斜杠将其转义。 不幸的是,斜杠也是Javascript字符串的转义字符,因此您必须使用双斜杠:
jQuery("#Ribbon\\.Documents\\.WorkflowButtons\\.Workflow" + button + "-Medium");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.