2017-07-18 15 views
0

私は初心者ですので、基本的な質問についてはごめんなさい。 ボタンを押したときに関数を呼び出すイベントリスナーを作成しました。 私はそれを働かせることができません。コードが現れたので、私は通訳者 によってaddEventListenerコード8行目が機能ではなく、私のページ上で が動作しないと言われています。何か案は?ありがとう!イベントリスナーを追加しないでください

function createNewList() { 

var displayNow = document.getElementById('listSectionMain'); 
displayNow.setAttribute('class', 'hideThis'); 
} 

var butt = document.getElementsByClassName('buttonMain'); 
butt.addEventListener('click', function() { 
createNewList() } 
, false); 
+0

を行きます"buttonMain"とインナーHTMLの。これは、問題の絞り込みを支援するのに役立ちます。 –

答えて

2

変更

var butt = document.getElementsByClassName('buttonMain')[0]; 

へのラインは、クラス名で要素を取得し、実際に配列

EDIT返します これはあなたの必要性のために動作しますが。

var butt = document.getElementsByClassName('buttonMain'); 
for(i=0;i<butt.length;i++){ 
    butt[i].addEventListener("click", createNewList); 
} 
+0

その変更を行うには効果がありましたか? –

+0

この関数に書き込むコードが増えました。合計4つのボタンが押され、どのボタンが押されたかに応じて機能のためのswitch文を書くことを望んでいました。私のコードは配列を返しますが、それは大丈夫ですか?私は基本的に4つのボタンのすべてにイベントリスナーを追加していたと思っていましたが、イベントオブジェクトを使用してどのボタンが押されたのかを調べました。 –

+0

私の編集をチェックし、必要なものを処理する必要があります –

0

getElementsByClassNameあなたはこの方法でそれを使用することができ、配列の配列のようなオブジェクトに

を返す...ここ

function createNewList() { 
    var displayNow = document.getElementById('listSectionMain'); 
    displayNow.setAttribute('class', 'hideThis'); 
} 

var butt = document.getElementsByClassName('buttonMain'); 

butt[0].addEventListener("click", myFunction); 

function myFunction() { 
    alert ("Hello World!"); 
} 

あなたはまた、HTMLスニペットが表示されるはずですJSFiddle

+0

これは実際に私にとってはうまくいくでしょうが、ループプロセスは私のニーズをより良く適合させます。ご協力ありがとうございました。 –

関連する問題