[英]Checking and unchecking menuitem in a Firefox add-on with jQuery
我正在使用的Firefox加载<menuitem type="checkbox" checked="true" label="Enabled">
有一个<menuitem type="checkbox" checked="true" label="Enabled">
元素。 我正在使用jQuery设置和取消设置checked
属性,如下所示:
var element = $("#extension-menupopup:first-child");
element.attr("checked", "false");
element.attr("label", "Disabled");
element.attr("tooltiptext", "Extension is disabled.");
前两个.attr()
调用似乎可以正常工作,但是“已启用”旁边的对勾标记不会消失, label
也不会更改为“已禁用”。 验证Scratchpad的“浏览器上下文”上的值,这些值分别返回为“ false”和“ Disabled”。 因此,属性的值已正确设置,但是UI不会更新以显示这些更改。 最后一行成功地正确设置了工具tooltiptext
文本,并且UI更改立即可见。 如何使更改在用户界面中可见?
jQuery似乎不适合该特定目的,尽管它在其他情况下也可以正常工作。 更改label
和checked
属性的方法是使用常规的javascript方法:
//get the element that needs to be modified
var element = document.getElementById("extension-menupopup").childNodes[0];
element.setAttribute("checked", false);
element.setAttribute("label", "Disabled");
另外,请注意此错误,以避免产生任何麻烦。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.