我有以下幾點:jQuery選擇:在形式指定輸入
$('#registration_form input[type=text], #registration_form input[type=password]')
而且我覺得它可以更好:更快,更短的
喜歡的東西
$('#registration_form input[type=text,password]')
我有以下幾點:jQuery選擇:在形式指定輸入
$('#registration_form input[type=text], #registration_form input[type=password]')
而且我覺得它可以更好:更快,更短的
喜歡的東西
$('#registration_form input[type=text,password]')
你有什麼不壞,如果你真的想「更清潔」的語法,你可以試試這個:
$("#registration_form").find("input[type=text], input[type=password]")
稍微乾淨,但不一定快。它必須現在只找到#registration_form一次,而不是兩次,但是您在那裏添加了第二個方法調用。另外,由於您已經在一個確切的ID上匹配,所以您可能會在上面的示例中節省很少的處理時間。
您可以使用find()與:text和:password選擇縮短你的語法:
$("#registration_form").find("input:text, input:password")
從性能的角度來看,它可能會稍快一些,但不是很多。
編輯:由於:text
和:password
不是本機的CSS選擇器,使用filter()以下變化可能會更快(和它的短擺在首位):
$("#registration_form input").filter(":text, :password")
This但是,幾乎肯定不會更快。清潔和簡單,當然,但可能不會更快。不過,我懷疑註冊表中有幾百或幾千個元素需要注意到這種效率變化,但:P。 –
@Stefan的確,我不認爲改變選擇器可以提高性能。我實際上解析了這個要求,因爲「更快*鍵入*」:) –
官方文檔也警告這個問題。具體來說,這是jQuery特定的語法,這意味着它不能利用本機優化。具體來說:「使用text的查詢無法利用原生DOM querySelectorAll()方法提供的性能提升。爲了在現代瀏覽器中獲得更好的性能,請改用[type =」text「]。 –
我認爲您的語法對設計人員和jQuery新人更具可讀性,所以我授予您 – Dan
我在我的代碼中使用Python方法:可讀性比代碼大小更好 – Dan