[英]Uncaught TypeError: Cannot read property 'trim' of undefined in Jquery
在 Jquery 中,將空格字符替換為 '%20'。 但以其他形式工作,而不是單一形式。 在包含標題為
<header>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
</header>
以其他形式使用的代碼運行良好。
var vname = $("#EarningsTypes").val();
vname = vname.trim().replace(/ /g, '%20');
jQuery.noConflict();
這意味着變量 vname 未定義。 為了避免出現這個錯誤,您可以使用可選的鏈接運算符(?.)
。
可選的鏈接運算符(?.)
使您能夠讀取位於連接對象鏈深處的屬性值,而無需檢查鏈中的每個引用是否有效。
?.
運算符就像.
鏈接運算符,除了如果引用為nullish
( null
或undefined
)而不是導致錯誤,表達式短路並返回值為undefined
。 與函數調用一起使用時,如果給定函數不存在,則返回undefined
。
當存在引用可能丟失的可能性時,當訪問鏈接屬性時,這會導致更短和更簡單的表達式。 當無法保證需要哪些屬性時,它在探索對象的內容時也很有幫助。
vname = vname?.trim()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.