每當我嘗試從文本框中獲取變數時,我都會變得不確定
let fname = $("#firstName").val();
let lname = $("#lastName").val();
let fullname = fname " " lname;
function foo() {
alert(fullname);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<div class = "person">First name:<input type = "text" id = "firstName"></div>
<div class = "person">Last name:<input type = "text" id = "lastName"></div>
<div class="person"><button onclick="foo()">Submit</button></div>
</div>
我試圖從 fname 和 lname 變數中洗掉“#”,但隨后列印“未定義”
我很困惑為什么會這樣。
uj5u.com熱心網友回復:
let宣告的變數在宣告它們的塊以及任何包含的子塊中都有其范圍。這樣,let 的作業方式非常類似于 var。主要區別在于 var 變數的范圍是整個封閉函式。
所以使用任何一個 var
var fname = $("#firstName").val();
var lname = $("#lastName").val();
var fullname = fname " " lname;
function foo() {
alert(fname);
alert(fullname);
}
對于 let 的范圍,請參見例如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
您需要 jquery 中的 # 來訪問 id,例如參見https://learn .jquery.com/using-jquery-core/selecting-elements/
uj5u.com熱心網友回復:
嘗試這個
function foo() {
let fname = $("#firstName").val();
let lname = $("#lastName").val();
let fullname = fname " " lname;
alert(fullname);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<div class = "person">First name:<input type = "text" id = "firstName"></div>
<div class = "person">Last name:<input type = "text" id = "lastName"></div>
<div class="person"><button onclick="foo()">Submit</button></div>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/497878.html
標籤:javascript html jQuery
