jQuery查找与上下文选择

具有以下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");

我的问题是,一个摘要是否比另一个摘要好,应该使用


开心每一天1111
浏览 416回答 3
3回答

慕标琳琳

通话不完全相同。根据显然从事jQuery工作的Brandon Aaron的说法,并且根据此处的实时测试,find方法总是更快。在下面的屏幕截图中查看结果。如果我缺少什么,请发表评论。视浏览器而定,速度相差10%或更大,这绝对值得使用find。在Brandon网站上的进一步解释在这里。

尚方宝剑之说

我可以想到一个用例,其中使用context表单可能更可取-在上下文包含在可能为null的变量中的情况下。例如:// Only affect matching items that are descendants of '#parent'do_something( $( '#parent' ) );// Affect all matching itemsdo_something();function do_something( $parent_element ){&nbsp; $( '.child', $parent_element ).each( function(){ } );}第二次do_something()调用,如果我们曾经使用过$parent_element.find(),它将失败,而在此示例中,如果$parent_element未定义或为空,则上下文为null,即:整个文档。诚然,这是一个极端的案例,但它只是在我正在研究的内容中出现,因此以为我将其放在后代。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery