假设我有5个div元素。它们都具有类似的onclick函数,将“删除”除被单击的div之外的其他div。
HTML:
<div id="1" class="divs" onclick="hide()"></div>
<div id="2" class="divs" onclick="hide()"></div>
<div id="3" class="divs" onclick="hide()"></div>
<div id="4" class="divs" onclick="hide()"></div>
<div id="5" class="divs" onclick="hide()"></div>
Run Code Online (Sandbox Code Playgroud)
所以这就是我尝试的:
JavaScript:
function hide(){
var divs = document.getElementsByClassName("divs");
for(var i = 0; i < arrows.length; i++){
if(this != arrows[i]){
arrows[i].style.display = "none";
}
}
}
Run Code Online (Sandbox Code Playgroud)
这一切都是删除每个div,但clicked元素应保留。我知道jQuery中有一个“:not()”选择器,但我想使用JS做到这一点。有什么建议么?
谢谢
我正在使用Youtube API,并有几个Div作为缩略图.单击一个缩略图(div)时,应播放相应的Youtube视频.我正在为视频使用iframe元素,而网页仅由HTML,CSS和JavaScript组成.如果我不使用按钮(缩略图/ div与onclick),而是使用带有Youtube API JavaScript代码的空白页面,它将起作用.但是,当我尝试将所有内容包装在函数调用中时(来自div的onclick)没有任何反应,但是我得到了这个错误.
"拒绝执行来自' https://www.youtube.com/embed/HVldRjNb4BE '的脚本,因为它的MIME类型('text/html')不可执行,并且启用了严格的MIME类型检查."
这是我的代码:
<div id="player"></div>
Run Code Online (Sandbox Code Playgroud)
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 4. …Run Code Online (Sandbox Code Playgroud)