javascript - jQuery:用一个链定义多个变量?

标签 javascript jquery

是否可以使用单个 jQuery 链定义多个变量?

var sectionTable = jQuery("#sectionsTable");
var sectionTableRows = sectionTable.find("tr");
var sectionTableColumns = sectionTableRows.find("td");

如果可能的话,我不知道语法是什么,但如果你采用上面的 3 个变量,你如何将它们链接起来,这会被认为是好的做法吗?

非常感谢

克里斯

编辑:哇,感谢所有评论。抱歉含糊不清,我所追求的是一种从父变量定义子变量的更好方法(如果存在的话)。这就是为什么我想到使用链条并想知道是否存在一种方法。感谢您的宝贵建议。

最佳答案

如果你真的想,一切皆有可能:

在我的脑海中,你可以尝试做这样的事情:

var sectionTable,
    sectionTableRows, 
    sectionTableColumns = $('td', (sectionTableRows = $('tr',(sectionTable = $('#sectionsTable')))));

另一个想法是构建一个迷你插件,将当前的 jquery 对象分配给对象的某个字段:

jQuery.fn.assignTo = function(variableName,namespace){
    var ns = namespace || window;
    ns[variableName] = this;
    return this;
}

有了这段代码,您可以执行以下操作:

var sections = {};
jQuery("#sectionsTable")
    .assignTo('sectionTable',sections)
    .find("tr")
        .assignTo('sectionTableRows',sections)
        .find("td")
            .assignTo('sectionTableColumns',sections);

console.log(sections.sectionTable);
console.log(sections.sectionTableRows);
console.log(sections.sectionTableColumns);

当然,如果不指定任何命名空间,变量将是全局的(将附加到窗口对象);

无论如何,我不鼓励您使用这些示例,因为为了支持更少的等号和 var 声明而降低代码的可读性没有多大意义。

关于javascript - jQuery:用一个链定义多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8150366/

相关文章:

javascript - 可手持数据透视表

javascript - 根据输入范围更新显示的文本量

javascript - 卡住下一个和上一个事件

Javascript 变量未在 ReactJS 组件中存储值

javascript - 如何在 Javascript 中为导出的 Excel 文件设置自定义名称

javascript - getJSON 获取所有项目但有未定义的错误

javascript - Leaflet.js geoJson 标签

javascript - ReactJS 不渲染 child

jquery - Web2Py Ajax append 到 DIV

javascript - Scrolltop 函数在滚动确定数量的像素后添加类