javascript - 调用 $find 是一个相对昂贵的操作吗?

标签 javascript jquery asp.net

我只是想知道这两种编码风格之间的优缺点:

var foo;
$(document).ready( function() {
    foo = $find(fooID);
});

function OnBarClicked()
{
    foo.doStuff();
    foo.doMoreStuff();
}

相比

function OnBarClicked()
{
    $find(fooID).doStuff();
    $find(fooID).doMoreStuff();
}

我觉得前者可能有一个陷阱,但我不知道为什么会有一个陷阱。此外,如果 $find() 有任何查找时间.. 查找所有保证在开始时“找到”2 次以上的变量,然后使用一个实例是否更有效?

编辑:$find description and usage

var radListBox1ID = "<%= RadListBox1.ClientID %>";
var radListBox = $find(radListBox1ID);
alert(radListBox.get_id()); //Alerts RadListBox1.ClientID

最佳答案

假设您询问是否使用 $() 查询 DOM 一次还是多次(每个语句一个)...

是的,使用单个 $() 并将结果存储在变量中比在以下位置调用 jQuery 更高效每个语句如果您在同一范围内多次使用该元素...

这在您将 this 作为 jQuery 对象多次引用的事件处理程序中特别有用。

$('#element').click(function(e) {
    var $clicked = $(this);

    $clicked.doStuff();
    $clicked.doMoreStuff();
});

关于javascript - 调用 $find 是一个相对昂贵的操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7825803/

相关文章:

javascript - 如何在 jquery 中创建多维数组/对象并通过 AJAX post 传递

c# - 在新窗口中显示服务器端生成的 HTML

javascript - 下一个循环的每个第 n 个具有剩余偏移量的图像

javascript - 将鼠标悬停在元素 A 上,用淡出动画更改元素 B 的样式?

javascript - 从javascript中的url同步解析json

php - Javascript 验证 if 语句

javascript - jQuery $(document).on( eventName, 选择器, function(){} ) 不起作用

c# - SQL 插入语句不工作

c# - 使用下拉菜单在两个页面之间切换

javascript - 来自 DivPixelToLatLng 的 Google Maps API V3 不一致