我最近开始编码,有一个我遇到很多时间的问题。那就是当我试图从实时演示中复制代码时,例如:https://www.w3resource.com/jquery-exercises/part1/jquery-practical-exercise-17.php
我已经尝试过各种组合,但无法使其正常工作。我复制了提供的所有文本,但是为什么不起作用?请帮助我了解如何执行此操作,因为有很多很棒的代码可供我尝试,但是如果它们来自实时演示,则无法使它正常工作,例如某些隐藏代码未显示在代码上。
这是我尝试这样做的方式:
<html>
<head>
<script src="https://code.jquery.com/jquery-git.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>How to get the value of a textbox using jQuery</title>
</head>
<body>
<input type="text" value="Input text here">
</body>
<script>
$( "input" )
.keyup(function() {
var tvalue = $( this ).val();
console.log(tvalue);
})
.keyup();
</script>
</html>
所以,让我逐步介绍它。
我假设您知道其余代码的工作方式。因此,我将仅关注您提供的script
标签。
这里是:
1 $("input").keyup(function() {
2 var tvalue = $(this).val();
3 console.log(tvalue);
4 }).keyup();
让我们逐行进入:
第一行:它包含三个不同的部分,其中第一个是$
符号,它存在于define / access jQuery中(在这种情况下,我们正在访问DOM中的某些内容) 。第二部分是“查询(或查找)” HTML元素的选择器(在这种情况下,我们将查找名称为input
的HTML标记)。最后,第三部分包括要在元素上执行的jQuery action(),该元素是keyup
操作(当用户释放键盘上的键时,会将keyup事件发送到元素,有关更多信息,您可以读取this)。另外,我们应该在keyup操作中采取一些措施,因此我们需要像您提供的代码一样向其中添加一个函数。
[line 2:在提供的函数中,我们执行了一些操作,因此在这一行中,我们正在做两件事。首先是使用这段代码$(this).val()
获取查询的元素值,其中第一部分正在访问this
元素,在我们的情况下,该元素是实际的input
(但我强烈建议您阅读有关this
[C0 ]),然后在下面我们用here获得它的值(val()
方法主要用于获取诸如val()
,input
和select
之类的表单元素的值。空集合,则返回textarea
。)。在等式的另一侧,我们得到了undefined
(var tvalue
是一个声明了函数作用域或全局作用域变量的语句,因此我们在这里得到了函子作用域变量var
),它将为[C0 ],因为我们对方程式的右边进行了求值,所以它将填充我们输入的实际值。
第3行这是我们在tvalue
中获得的所有代码的令人惊讶的部分,undefined
本身不是JavaScript功能,函数或其他功能,(在这里我们看到了一些地方它将作为javascript中的功能进行介绍,但实际上不是),它是为javascript和浏览器提供通信的浏览器API。因此,每个浏览器都有一个控制台供您调用,它只能在您的浏览器开发工具控制台内或在诸如IDE终端之类的怪异地方找到(实际上,当您使用SSR时,您会发现登录到IDE终端的信息) )。因此,正如@Gabriele Petrioli所说,您可以在此console.log(tvalue)
中阅读访问不同浏览器控制台的说明。因此,无论何时调用它,您都应该主要在浏览器控制台中寻找结果。
NOTE:可以从任何全局对象访问console
对象。通过属性控制台,在浏览范围上单击link,在工作程序中使用console
作为特定变体。它公开为Window
,并且可以简称为WorkerGlobalScope
。您可以阅读有关控制台Window.console
的更多信息。
第4行:与先前的console
完全相同,但是它将首次触发here事件。