JS中的clear()方法爲什麼不起作用?

問題描述

最近在做項目時,在HTML中編寫了一個超鏈接,超鏈接調用Js中的clear()方法,但是無論怎麼嘗試發現clear()方法都不起作用,這是怎麼回事呢?HTML中的代碼如下:

<a href="javascript:void(0)" onclick="clear()">清除</a>

JS中的代碼如下:

function clear(){
alert("清除成功”);
}

原因分析

這是因爲HTML中的document對象中也有一個clear()方法,即document.clear(),是清除指定文檔的內容。因此如果直接寫οnclick="clear()"這樣會默認調用document.clear()方法,而不是在js中編寫的clear()方法,自然無法達到clear()方法中的效果。

解決方案

方案1

在方法名前加上window進行限定,就會調用js中編寫的clear()方法了,代碼如下:

<a href="javascript:void(0)" onclick="window.clear()">清除</a>

方案2

簡單粗暴,換一個方法名即可。既然知道clear()方法和document方法中的名稱衝突,那換一個方法名,比如selfClear()等,就不會出現這個問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章