我試圖選擇符合某些標準的元素。現在我在做這樣的:選擇器的性能
$('[' + attr + '="' + name + '"]', el).filter('[type!="hidden"]').get(idx);
這是緩慢的地獄(在Opera 1400ms,〜在Chrome 120毫秒)
這個我以前:
$('[' + attr + '="' + name + '"][type!="hidden"]', el).get(idx);
這在Opera中花費了5-6秒。
(具有該代碼的函數被調用就像在一個頁面250-400次)
無論如何,它仍然是緩慢的,因爲我在做很多選擇,總負載仍然能夠在Opera超過2秒,取決於頁面內容。
你認爲我可以改進一點點的查詢嗎?
PS:「ATTR」有name
值(name屬性),我只是作爲一個變量來測試,如果其他屬性都更快
我假設你想要選擇輸入元素,所以你可以添加'input [attr = value]',你將只搜索輸入標籤,而不是全部在頁面中。 – hamczu 2012-03-30 17:13:27
「此代碼在頁面中被調用爲250-400次」。那可能與它有關。 – j08691 2012-03-30 17:23:18
我知道,但問題是有些元素依賴於其他元素,所以我必須做各種交叉檢查,這迫使我調用這個函數7-8倍頁面上的實際輸入元素數 – thelolcat 2012-03-30 17:25:09