這是一個javascript函數傳遞參數到javascript函數
<script>
function func1(var g){
alert(document.getElementsByTagName('p')[0].innerHTML);
}
</script>
如何從函數調用傳遞值0以上的函數定義。
<p onmouseover="func1(0)";>First para</p>
這是一個javascript函數傳遞參數到javascript函數
<script>
function func1(var g){
alert(document.getElementsByTagName('p')[0].innerHTML);
}
</script>
如何從函數調用傳遞值0以上的函數定義。
<p onmouseover="func1(0)";>First para</p>
將其更改爲
<script>
function func1(g){
alert(document.getElementsByTagName('p')[0].innerHTML);
}
</script>
你需要看到控制檯日誌,以彈出相關的錯誤。
在這種情況下,您正在函數參數中聲明不允許的變量,您可以找到更多關於function
here的信息。
問題仍然存在 - 爲什麼要傳入該參數,如果它不會被使用,除非'g'是爲了替換索引。 – Andy
雖然它會工作肯定..你必須有有效的描述,這將使OP瞭解的東西! _Change it /試試這個_將無助於事業... – Rayon
@Andy可能是他剛剛粘貼的相關代碼。 – JagsSparrow
由於您在使用[0]
來定位第一段時,您的功能應該是;
function func1(g){
alert(document.getElementsByTagName('p')[g].innerHTML);
}
更規範JS的方法是一個事件監聽器連接使用JavaScript的元素,而不是內聯代碼:
var paras = document.getElementsByTagName('p');
[].slice.call(paras).forEach(function (el, i) {
el.addEventListener('mouseover', func1.bind(func1, i), false);
});
function func1(g){
console.log(paras[g].innerHTML);
}
但也許是最好的辦法是使用事件代表團,這樣你就不會將聽衆添加到全部的元素中。事件偵聽器從第添加到父元素和追趕的事件,因爲他們冒泡的DOM:
var div = document.getElementById('paras');
div.addEventListener('mouseover', func1, false);
function func1(e) {
var el = e.target;
if (el.nodeType === 1 && el.nodeName === 'P') {
console.log(el.innerHTML);
}
}
這是一個JavaScript語法錯誤,更準確。在形式參數列表中不能包含'var'關鍵字。保持瀏覽器的開發者控制檯處於打開狀態,以便您能看到錯誤消息。 – Pointy
OP,這個函數中的'g'意味着什麼?目前看來無關緊要。 – Andy