2017-09-24 87 views
-1

我的代碼如下。但是當我給出上面的代碼時,ID爲「demo」的元素沒有被選中。我怎麼能在JS中做到這一點?如何在另一個元素中使用id獲取元素Javascript

document.getElementById("demo").onclick = function() {myFunction1()}; 
 

 
function myFunction1() { 
 
    document.getElementById("demo").classList.remove("flame"); 
 
}
.flame { 
 
    color: red; 
 
}
<div class="candle"> 
 
    <div id="demo" class="flame">Click me</div> 
 
</div>

+1

它在這裏工作。 –

+0

問題不是選擇元素不起作用,而是您嘗試添加點擊處理程序的方式。這不是它的工作方式 –

+0

*「但是當我給出上面的代碼時,id爲」demo「的元素沒有被選中。」* [是的,它的確如此。](https://jsfiddle.net/d9ska81a/ ) –

回答

0

如果我的理解是正確的,嘗試使用這一個

document.getElementById('demo').onclick = function(event) { 
 
    callback(event) 
 
} 
 

 
function callback (event){ 
 
    var classList = event.target.classList 
 
    
 
    if (classList.contains('flame')) { 
 
    console.log('contains') 
 
    classList.remove('flame') 
 
    } else { 
 
    console.log('notfound') 
 
    classList.add('flame') 
 
    } 
 
}
.flame { 
 
    color: red; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 
<body> 
 
    <div class="candle"> 
 
    <div id="demo" class="flame">Click me</div> 
 
</div> 
 
</body> 
 
</html>

-3

首先爲什麼您使用的方法來調用另一個函數時,你可以在HTML元素的onclick直接使用也確保你包括自函數功能1在正確的方式腳本需要在Dom元素中調用它之前進行定義。

所以,你可以在html元素

<div class="candle"> 
<div id="demo" class="flame" onclick="myFunction1()">Hello</div></div> 

而對於JavaScript中使用這樣的:

function myFunction1() { 
document.getElementById("demo").classList.remove("flame");} 

您可以檢查小提琴:https://jsfiddle.net/ytdmk6my/2/

相關問題