我已經發布了這個,但我認爲我的問題很難解釋。我有多個「彈出編輯」類的div。
我希望能夠使用getElementsByClassName來定位這些目標.....結果是帶有一些輸入字段的彈出窗口。請參閱下面的代碼。
我知道getElementsByClassName返回一個包含EditQuestion類的所有元素的數組,但是我沒有寫出一個可以使用這個數組的函數。我缺乏技巧(我是新手)。
有人可以給我解決方案,所以我有我可以學習的東西。爲直接詢問答案而抱歉...我嘗試了許多事情而沒有成功。
非常感謝GetElementsByClassName - 不能寫函數來使用返回的數組
HTML
<button class="EditQuestion">Edit</button>
<div class="overlay2"></div>
<div class="popupEdit">
<h2>Edit Question, some input box here..</h2>
<button class="CloseBtn2">Close</button>
</div>
JS
window.onload = function() {
document.getElementsByClassName("EditQuestion").onclick = function() {
var overlay2 = document.getElementsByClassName("overlay2");
var popupEdit = document.getElementsByClassName("popupEdit");
overlay2.style.display = "block";
popupEdit.style.display = "block";
};
document.getElementsByClassName("CloseBtn2").onclick = function() {
var overlay2 = document.getElementsByClassName("overlay2");
var popupEdit = document.getElementsByClassName("popupEdit");
overlay2.style.display = "none";
popupEdit.style.display = "none";
};
};
CSS
button.EditQuestion{
padding: 0;
border: none;
background: none;
color:#A8A8A8;
font-weight: bold;
}
button.CloseBtn2 {
padding: 0;
border: none;
background: none;
position:absolute;
right:10px;
top:5px;
}
.popupEdit {
display:none;
position:fixed;
left:40%;
top:30%;
width:600px;
height:150px;
margin-top:-75px;
margin-left:-150px;
background:#FFFFFF;
border:1px solid #000;
z-index:100000;
}
.overlay2 {
display:none;
position:fixed;
left:0px;
top:0px;
width:100%;
height:100%;
background:#000;
opacity:0.5;
z-index:99999;
}
編輯的版本 - 我曾嘗試使用querySelectorAll由TJ克羅德所建議的.... querySelector可以工作,但是當我在for循環中添加並更改爲querySelectorAll時,它會失敗....任何建議
window.onload = function() {
document.querySelectorAll(".EditQuestion").onclick = function() {
var overlay2 = document.querySelectorAll(".overlay2");
var popupEdit = document.querySelectorAll(".popupEdit");
var index;
for (index = 0; index < overlay2.length; ++index) {
overlay2[index].style.display = "none";
popupEdit[index].style.display = "block";
}
};
document.querySelectorAll(".CloseBtn2").onclick = function() {
var overlay2 = document.querySelectorAll(".overlay2");
var popupEdit = document.querySelectorAll(".popupEdit");
var index;
for (index = 0; index < overlay2.length; ++index) {
overlay2[index].style.display = "none";
popupEdit[index].style.display = "block";
}
};
};
是否要得到數組來自'classname'的元素? –
「EditQuestion」類的div在哪裏?我只看到一個按鈕,那個階級。 –
道歉....是的,我的意思是很多彈出編輯類 – GhostRider