我创建了一个函数来向我返回一个jquery元素。

function GetDialogButton() {
    return $('a.dialog');
};

这样做是因为在多个其他功能中使用了相同的元素。我认为最好是从一个地方获得的,因此,如果属性名称发生更改,将来可以更轻松地进行更改。

我想改进此 setter/getter ,以使其在单个页面加载中多次调用时不会每次都执行搜索。

我怎样才能做到这一点?我要缓存吗?也许没有必要,因为它已经过优化了?

最佳答案

您可以创建一个缓存变量,但是它将再次污染全局 namespace

var dialogButton;
function GetDialogButton() {
    if(dialogButton){
        return dialogButton;
    }

    dialogButton = $('a.dialog');
    return dialogButton;
};

关于javascript - 防止在jQuery中进行多个DOM搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17232302/

10-10 21:42