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 と $ の 2 つの構文を使用しました。これは、他の問題がないことを確認するためでした。
ありがとう !