Javascript Jquery选择器优化

Javascript Jquery选择器优化,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,以html为例 <div id="one" > <input type="radio" value="x" name="group" > <input type="radio" value="y" name="group" > <input type="radio" value="z" name="group" > </div> 方法2: var value=$("#one input:radio[name=group]:checke

以html为例

<div id="one" >
<input type="radio" value="x" name="group" >
<input type="radio" value="y" name="group" >
<input type="radio" value="z" name="group" >
</div>
方法2:

var value=$("#one input:radio[name=group]:checked").val();

这两种方法的性能有很大差异吗?而不是方法2在一行代码中完成这项工作

或者请解释一下jquery中“input:radio[name=group]:checked”这一行的实际情况

  • 问题二
  • 我想将checked属性设置为true 输入具有值“y”的值。所以

    我也会这么做


    添加“div id”和“[name=group]”是否有任何性能差异?

    说到纯性能,我发现有一种解决方案更好:“自己动手”(on)

    我做了你的测试,但只花了我时间来复制/粘贴
    ;)


    从我添加的结果来看,对于第一个问题,最好的方法似乎是第二个,但对于第二个问题,它取决于浏览器。

    document.getElementById是最快的方法!!“两种方法之间的性能有很大差异吗?而不是方法2在一行代码中这样做…”“在一行代码中做事与性能本身无关。是的。。我的意思是,它本身唯一的优点就是节省了一行代码。好的,谢谢你的“jsperf”。。一定要找到JQuery内部实际发生的事情的解释。不,我对JQuery内部发生的事情不太熟悉。Py:太棒了!我不知道jsperf!
    var value=$("#one input:radio[name=group]:checked").val();
    
    $("input:radio").filter("[value=y]").attr('checked', true);
    
    $("#one input:radio[name=group]").filter("[value=y]").attr('checked', true);