gpt4 book ai didi

javascript - 存储 Jquery 引用

转载 作者:行者123 更新时间:2023-12-02 15:53:16 26 4
gpt4 key购买 nike

是否可以将元素的引用存储在数组或对象中,而无需元素具有唯一的 ID?

我在将子表存储在另一个表中时遇到问题,以便稍后可以引用它。我使用以下代码按类别获取表格:

$(this).parent('tr').parent().find('.tableSomeTable');

是每个元素上都有唯一 id 并使用 .selector 方法的唯一解决方案吗?

更多我的代码。升技简化。

  var rows = [];
var historyLoad;

$(document).on("click", '.details-control', function (e) {
var t = $(this);
var tr = t.closest('tr');
var row = t.parent().parent().parent().DataTable().row(tr);
var id = t.closest('tr').attr('id');

var object = {
id: id,
btnHistory: t.parent('tr').next().find('#btnHistory'),
tblHistory: t.parent('tr').parent().find('.tableHistory'),
historyLoad: historyLoad
};

if ($.inArray(id, rows) > -1) {
loadData = false;
}
else {
loadData = true;
loadHistory(object);
rows.push(object);
}
};

这是我在检索正确元素时遇到的问题。我还想将 ajaxHistory 元素保存到我的对象中(工作正常)。此代码不起作用,但如果我将其更改为 $(result.btnHistory.btnHistory.selector) 我会得到该对象。但这对于多行似乎不太有效。

  function loadHistory(result) {
result.ajaxHistory = $.ajax({
...
beforeSend: function () {
$(result.btnHistory).html(<loading txt>);
$(result.tblHistory).find('tbody').html(<loading txt>);
},
....
success: function (data) {
if (data.TotalRecordCount > 0) {
$(result.tblHistory).find('tbody').html('');
$.each(data.Records, function (e, o) {
$(result.tblHistory).find('tbody').append(<data>)
});
}
else {
$(result.tblHistory).find('tbody').html(<txt no records>);
}
$(result.btnHistory).html(<txt loading done>));
},

最佳答案

首先,如果您想查找父表,请尝试

    var $myObj = $(this).closest('table.tableSomeTable');

而不是导航 parent 。

就存储 jQuery 引用而言,定义一个变量然后存储它。上面的代码会将对象存储在 $myObj 中,但它是本地范围的。如果您需要全局变量,请全局定义它并在此处分配它。如果您想将其定义为对象内的属性,则可以这样定义。此时,这实际上归结为范围问题。

编辑:刚刚看到您添加的内容。

首先,不要将其命名为“对象”。这可能会遇到关键词问题。请使用 var myObj 或类似的函数。 接下来,object.btnHistory 是对 jQuery 对象的引用。因此,当您将其传递给 loadHistory 时,无需再次应用 $(...) 。只需直接使用引用:result.btnHistory.html(...)。一个好的习惯是在 jQuery 变量前面加上 $,这样你就记住它已经是一个 jQuery 变量了。

关于javascript - 存储 Jquery 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31725220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com