簡體   English   中英

如何在沒有保護條款的情況下重寫 jQuery?

[英]How can I rewrite jQuery without guard clause?

我怎樣才能重寫這個 jQuery 更簡潔並且沒有保護條款?

var myTextBox = $('#myTextBox');

if (myTextBox )
    myTextBox.val("");

保護子句只是為了在嘗試設置它的值之前確保該元素存在於頁面上,但代碼看起來很臃腫而且大部分是不必要的。 對此的首選解決方案是什么?

如果 jQuery object 的長度為0$('#myTextBox').val("")將什么也不做,所以只需使用它。

除非您需要為將來的操作緩存選擇器,否則我會這樣做:

$('#myTextBox').val("")

如果沒有選擇,則不會枚舉任何內容,因此 jQuery 將不會運行val()例程。

它就像$('#myTextBox').val(""); ,如果它沒有找到 object 那么它將只是一個空的 jQuery object 並且.val()例程將什么也不做。

我相信如果#mytextbox不存在, mytextbox無論如何都不會未定義,它將是一個空的 jQuery object。 所以檢查是多余的。

我還認為,如果您對空的 jQuery object 執行操作,無論如何都不會發生任何事情,所以您很安全。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM