У меня возникают проблемы с использованием JQuery, чтобы выбрать правильный элемент. Использование JavaScript DOM работает нормально, но с JQuery я не могу показаться, чтобы получить правильный элемент ...Селектор JQuery не работает во время работы JavaScript в DOS
Это работает отлично (длина «средний» равен 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 и $. Это было сделано для того, чтобы не было других проблем.
Спасибо!
Я думаю, что ошибка происходит из-за многоточия во имя вашего идентификатора. Попробуйте следующее: http://stackoverflow.com/questions/605630/how-to-select-html-nodes-by-id-with-jquery-when-the-id-contains-a-dot –
U сделал мой день. Создайте ответ, я его одобрю! :-) –
Я думаю, что опаздываю. Вы уже одобрили ответ. –