Это затронет только небольшую часть пользователей, но я бы хотел, чтобы это было документировано для этой небольшой части. Из-за этой проблемы этот член этой маленькой горстки потратил 6 часов на устранение неполадок с работающим PHP-почтовым скриптом.
Если вы собираетесь в университет, в котором работает XAMPP с сайта www.AceITLab.com, вы должны знать, что наш профессор не сказал нам: брандмауэр AceITLab (а не брандмауэр Windows) блокирует MercuryMail в XAMPP , Вам придется использовать альтернативный почтовый клиент, груша работает на нас. Вам нужно будет отправить учетную запись Gmail с низкими настройками безопасности.
Да, я знаю, это абсолютно бесполезно для электронной почты реального мира. Однако, из того, что я видел, академические настройки и реальный мир часто имеют очень мало общего.
Вероятно, вы имели в виду document.getElementsByClassName()
(а затем захватили первый элемент из списка результирующих узлов):
var stopMusicExt = document.getElementsByClassName("stopButton")[0];
stopButton.onclick = function() {
var ta = document.getElementsByClassName("stopButton")[0];
document['player'].stopMusicExt(ta.value);
ta.value = "";
};
Вы все еще можете получить ошибку
blockquote>
document.getElementsByClassName
не является функциейв старых браузерах, хотя в этом случае вы можете предоставить резервную реализацию, если вам нужно поддерживать эти старые браузеры.
enter code here
var stopMusicExt = document.getElementByClass("stopButton").value;
stopButton.onclick = function() {
var ta = document.getElementByClass("stopButton");
document['player'].stopMusicExt(ta.value);
ta.value = "";
};
// .value will hold all data from class stopButton
Как говорили другие, вы не используете правильное имя функции, и оно не существует универсально во всех браузерах.
Если вам нужно делать кросс-браузерную выборку чего-либо, кроме элемента с id с document.getElementById()
, то я бы настоятельно предложил вам получить библиотеку, которая поддерживает селектора CSS3 во всех браузерах. Это сэкономит вам огромное количество времени разработки, тестирования и исправления ошибок. Самое простое - просто использовать jQuery , потому что он настолько широко доступен, имеет отличную документацию, имеет свободный доступ к CDN и имеет отличное сообщество людей, стоящих за ним, чтобы отвечать на вопросы. Если это кажется вам больше, чем вам нужно, вы можете получить Sizzle , который является только селекторной библиотекой (на самом деле это движок селектора внутри jQuery и другие). Я использовал его сам по себе в других проектах, и это легко, продуктивно и мало.
Если вы хотите сразу выбрать несколько узлов, вы можете сделать это по-разному. Если вы дадите им все тот же класс, вы можете сделать это с помощью:
var list = document.getElementsByClassName("myButton");
for (var i = 0; i < list.length; i++) {
// list[i] is a node with the desired class name
}
, и он вернет список узлов, имеющих это имя класса.
В Sizzle это будет так:
var list = Sizzle(".myButton");
for (var i = 0; i < list.length; i++) {
// list[i] is a node with the desired class name
}
В jQuery это будет так:
$(".myButton").each(function(index, element) {
// element is a node with the desired class name
});
В Sizzle и jQuery вы может поместить несколько имен классов в селектор, как это, и использовать гораздо более сложные и мощные селектор:
$(".myButton, .myInput, .homepage.gallery, #submitButton").each(function(index, element) {
// element is a node that matches the selector
});
document.querySelectorAll
работает очень хорошо и позволяет вам сузить ваш выбор.
https://developer.mozilla.org/en-US/docs/Web/API/Document / querySelectorAll
Перед тем, как перейти к дальнейшим проверкам ошибок, сначала проверьте, принадлежит ли его
document.getElementsByClassName ().
дважды проверьте его getElements, а не getElement
Он должен быть getElementsByClassName
, а не getElementByClass
. См. Это https://developer.mozilla.org/en/DOM/document.getElementsByClassName .
Обратите внимание, что некоторые браузеры / версии могут не поддерживать это.