我想使用匿名函数将脚本放在<head>
标记之间,然后我添加onclick事件来更改标记p的内容但是在我点击之后没有任何反应。我的剧本有什么问题请帮帮我。谢谢
<!DOCTYPE html> <html lang="en">
<head>
<title>web</title>
<script>
window.onload=function(){
function rubah1(){
document.getElementById("text1").innerHTML="SUDAH BERUBAH TEXT 1";
}
}
</script>
</head>
<body>
<p id="text1">Teks 1 Sebelum Di Rubah</p>
<button type="button" onclick="rubah1();">Rubah Text 1</button>
</body>
</html>
答案 0 :(得分:4)
请在下次更好地格式化您的代码。
您不需要等待加载文档来定义函数。你可以在头部定义,然后按钮就可以了。
工作代码段:
stringr::str_extract_all("http://example.com/?example_id=123&second_id=25", pattern = "\\d+")
&#13;
您的方法的问题是您在onload函数的内部范围中定义函数,因此按钮不可见。
答案 1 :(得分:1)
函数rubah1在onload中定义。因此,其范围不是全球性的。功能rubah1的生命只在onload内。超出onload范围的代码无法调用它,因为该代码不知道名为rubah1的函数存在。您可以删除onload,因为它似乎不会为其添加任何值 您可以通过引用它来帮助自己,这将清除您的概念:w3schools Javascript scope tutorial。
更新代码:
<!DOCTYPE html> <html lang="en">
<head>
<title>web</title>
<script>
window.onload=function(){
function rubah1(){
document.getElementById("text1").innerHTML="SUDAH BERUBAH TEXT 1";
}
}
</script>
</head>
<body>
<p id="text1">Teks 1 Sebelum Di Rubah</p>
<button type="button" onclick="rubah1();">Rubah Text 1</button>
</body>