function Popup() {
}
Popup.prototype.openPopup = function() {
var div = document.getElementById("test");
div.style.display = 'block';
};
Popup.prototype.closePopup = function() {
var div = document.getElementById("test");
div.style.display = 'none';
};
window.onload = function() {
var popup = new Popup();
var opnpopup = document.getElementsByClassName('clck');
opnpopup.addEventListener('click', function() {
popup.openPopup();
});
var cnclpopup = document.getElementById('cancel');
cnclpopup.addEventListener('click', function() {
popup.closePopup();
});
}
HTML код:Чтобы получить доступ к атрибуту класса с помощью Prototype JS
<button id="clck" class="clck">click here</button>
<div id="test" class="popup">
This is a test message
<div id="cancel" class="cancel" ></div>
</div>
В выше JS, когда я доступ к имени класса 'clck'
с помощью document.getElementsByClassName('clck')
не отображается всплывающее окно, но когда мы к нему доступ через «ид» то это работает .. Так что проблема, пожалуйста, объясните
Вы уверены, что используете PrototypeJS? Это библиотека, которая, как и jQuery, использует сокращение $() среди множества других вещей. Я считаю, что вы просто используете встроенное свойство javascript 'prototype', которое отличается от фактической библиотеки –
возможным дублированием [Почему getElementsByClassName не работает для меня? Что он возвращает?] (Http://stackoverflow.com/questions/10693845/why-getelementsbyclassname-does-not-work-for-me-what-does-it-return) –
Но можете ли вы сказать мне, когда я использую document.getElementsByClassName ('CLCK'); он не работает вместо этого, если я использую document.getElementById ('clck'); то его работа. – Tushky