我可以用jquery更高效地编写javascript吗?

我可以用jquery更高效地编写javascript吗?,jquery,Jquery,您认为jquery可以帮助我更快地完成以下脚本吗? 谢谢 window.onload=函数colorizeCheckedRadios(){ var inputs=document.getElementsByTagName(“输入”); 如果(输入){ 对于(变量i=0;i

您认为jquery可以帮助我更快地完成以下脚本吗? 谢谢

window.onload=函数colorizeCheckedRadios(){
var inputs=document.getElementsByTagName(“输入”);
如果(输入){
对于(变量i=0;i
快一点,我不知道。清洁剂和跨浏览器:是

$(function() {
    $('input:radio:checked').parent().parent().css('background-color', '#FCE6F4');
});

您可以使用jQuery执行此版本:

$(function() {
  $(":radio:checked").parent().parent().css('background-color', '#FCE6F4');
});
所以,是的,你可以稍微瘦一点:)

如果你知道你想要的父母是什么,比如说a
,你可以这样做:

$(function() {
  $(":radio:checked").closest('span').css('background-color', '#FCE6F4');
});

是的,可能。jQuery具有jQuery.ready()方法,该方法在DOM完成时执行函数,而不是在加载所有图像时执行函数。请参阅:

否,因为jQuery将解析代码中使用的jQuery选择器,因此速度会慢一些。

如果您有一个命名的祖先元素,可以帮助您排除从那里开始的网页的大部分其余部分,那么将大大加快选择器的速度

... tons of html
<div id="radioButtonList">
... the various radio button divs or what nots
</div>
... tons more html

$(function() { 
  $("#radioButtonList :radio:checked").parent().parent().css('background-color', '#FCE6F4'); 
});
。。。大量html
... 各种单选按钮div或not
... 更多的html
$(函数(){
$(“#radioButtonList:radio:checked”).parent().parent().css('background-color','#FCE6F4');
});

Speed-wise它应该不会有什么不同,特别是因为jQuery是如何编写的。@Josh K:你说得对,它不会有太大的不同,但会更慢。问题是jQuery是否会使脚本更快、更高效。这个问题的答案是否定的。如果你真的担心那里的选择器,就不要使用选择器:
$(document.getElementsByTagName('input'))…
,它的工作原理也一样。+1用于清洁和兼容性。更快,很可能不会——在
querySelectorAll()
不可用的浏览器中肯定不会。感谢您提供的所有快速答案!我实现了代码,对我来说似乎快了一点。我使用的是Firefox3.6。谢谢!这是非常棒的干净代码。在实现
querySelectorAll
的浏览器上,它实际上可能要快一点,尽管速度差异应该可以忽略不计。每个.parent()调用都会通过找到的所有输入产生一个全新的循环。如果你有很多,那么你会想写这篇文章,这样你只循环一次。为什么要投反对票。。。?一个解释将教会我和其他人。
... tons of html
<div id="radioButtonList">
... the various radio button divs or what nots
</div>
... tons more html

$(function() { 
  $("#radioButtonList :radio:checked").parent().parent().css('background-color', '#FCE6F4'); 
});