簡體   English   中英

我如何將 JQuery 與 getElementsById 一起使用?

[英]how can i use JQuery with getElementsById?

我有這個變量

formEditable = document.getElementById("formid").getElementsByTagName("input");

我想要那樣

formEditable = $("#formid").getElementsByTagName("input");

如果頁面中有很多<input> ,則應該使用

// Locate the first element with ID `formid`,
// then query its descendants for `<input>` elements.
formEditable = $("#formid").find("input");

出於性能原因,因為選擇器是從右到左評估的。

使用查詢$("#formid input") ,首先定位所有<input> ,然后根據它們的祖先元素過濾它們,尋找 ID 為formid的祖先。

這並不是 jQuery 獨有的,但您的原始解決方案實際上考慮到了這一點:

formEditable = document.getElementById("formid").getElementsByTagName("input");

請注意,jQuery 查詢返回一個 jQuery 對象,而不是元素的DOMNodeList 所以變量formEditable將是一個 jQuery 對象。 要將 jQuery 對象轉換為數組,請使用toArray方法。

您可以改用單個選擇器字符串:

const inputsInsideForm = $('#formid input');

這將為您提供所有input元素的 jQuery 集合,這些元素是#formid元素的后代。

如果必須改用getElementsByTagName ,請先從$("#formid")集合中提取元素:

$("#formid")[0].getElementsByTagName("input");

這將為您提供這些輸入的實時 HTMLCollection。

您可以簡單地使用以下代碼:

$("#formid").getElementsByTagName("input");

暫無
暫無

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

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