2017-02-02 15 views
2
function clear() { 
document.getElementById("1").innerHTML = ''; 
document.getElementById("2").innerHTML = ''; 
document.getElementById("3").innerHTML = ''; 
} 
<button onclick="clear()">Clear</button> 

これは、それを実行する機能とボタンです。 この関数の目的は段落をクリアすることですが、ボタンをテストしても何もしません。クリア機能が動作しないのはなぜですか?

ボタンをクリックしたときにこの機能が実行されないのはなぜですか?

EDIT:申し訳ありません答えは明白であるならば、私はJS EDITに初心者だ:HTML:

<p id="1"></p> 
<p id="2"></p> 
<p id="3"></p> 

「は段落のテキストを変更するJS関数でもあるが、それはdoesnのtループ

+3

のような何か他のものを試してみてください。 – Barmar

+2

@Barmarボタンのために使用したHTMLはJSの下にあります。私のファイルでは、HTMLはJS – Tler

+2

@Tlerの下に実際にはありません。彼はあなたが "クリア"しようとしているHTMLを参照しています。 – noahnu

答えて

9

DOMにはclearという名前の古いグローバルメソッドがあるため、関数clearに名前を付けないでください。あなたのHTMLを表示clearMe

function clearMe() { 
 
    document.getElementById("1").innerHTML = ''; 
 
    document.getElementById("2").innerHTML = ''; 
 
    document.getElementById("3").innerHTML = ''; 
 
}
<div id="1"> 
 
    foo 
 
</div> 
 
<div id="2"> 
 
    foo 
 
</div> 
 
<div id="3"> 
 
    foo 
 
</div> 
 
<button onclick="clearMe()">Clear</button>

+1

これは 'document'関数であり、' window'関数ではないので、何の害もないはずです。また、私は関数宣言がグローバルをオーバーライドすると確信しています。 – Bergi

+0

@Bergiは詐欺をチェックアウトしました – j08691

+1

Ah、インライン属性イベントハンドラのスコープ。もちろん。 – Bergi

関連する問題