[英]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.