具有以下html代碼段<div class="something"> <p>Some text</p></div><div class="somethingElse"> <p>some other text</p></div>我認為以下jquery代碼段是相同的(將具有相同的結果):$(".something").find("p").css("border", "1px solid red");$("p", ".something").css("border", "1px solid red");我的問題是,一個摘要是否比另一個摘要好,應該使用
3 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
通話不完全相同。
根據顯然從事jQuery工作的Brandon Aaron的說法,并且根據此處的實時測試,find方法總是更快。在下面的屏幕截圖中查看結果。如果我缺少什么,請發表評論。
視瀏覽器而定,速度相差10%或更大,這絕對值得使用find。
在Brandon網站上的進一步解釋在這里。

尚方寶劍之說
TA貢獻1788條經驗 獲得超4個贊
我可以想到一個用例,其中使用context表單可能更可取-在上下文包含在可能為null的變量中的情況下。
例如:
// Only affect matching items that are descendants of '#parent'
do_something( $( '#parent' ) );
// Affect all matching items
do_something();
function do_something( $parent_element ){
$( '.child', $parent_element ).each( function(){ } );
}
第二次do_something()調用,如果我們曾經使用過$parent_element.find(),它將失敗,而在此示例中,如果$parent_element未定義或為空,則上下文為null,即:整個文檔。
誠然,這是一個極端的案例,但它只是在我正在研究的內容中出現,因此以為我將其放在后代。
- 3 回答
- 0 關注
- 441 瀏覽
添加回答
舉報
0/150
提交
取消