gpt4 book ai didi

javascript - 如何使用 jquery 通过 .filter 传递变量

转载 作者:行者123 更新时间:2023-12-03 06:01:33 26 4
gpt4 key购买 nike

我已成功将另一个页面中的表格放入名为 res 的变量中。

我需要通过过滤器传递此变量以进行搜索

我使用 .parents() 获取对应的表格行。

当表与 jQuery 位于同一页面时,此过滤器有效,但在使用 $.get() 时无效。

以下是我的方法:

$.get('oncalltable.html', function(res) {

var d = new Date();

var month = d.getMonth()+1;
var day = d.getDate();
var year = d.getFullYear();

var oncalldate = ((''+month).length<2 ? '0' : '') + month + '/' +
((''+day).length<2 ? '0' : '') + day + '/' + year % 100;

var search = oncalldate;

var todayoncall = $("span").filter(function() {
return $(this).text() == search;
}).parents('tr');

console.log(oncalldate, res, todayoncall);

$('.test span').append(todayoncall);

});

最佳答案

JQuery 选择器针对 DOM 工作。 oncalltable.html 不在 DOM 中,它只是变量内的文本,恰好类似于 HTML。

我猜您希望 $("span") 选择器看到 oncalltable.html 的内容。不会因为<span>您要查找的内容(在 oncalltable.html 内)不在 DOM 中。

如果(且仅当)您非常有信心在 oncalltable.html 中获取的数据现在并且永远都是完全可信的,您可以通过将该 html 加载到您的页面中来将其添加到您的 DOM 中。

一种方法是将“res”的内容分配给某些现有页面元素的 .innerHTML。如果您有(或决定制作)一个隐藏的 div 来在解析数据时保存数据:

<div id="whereResGoes" style="display:none"></div>

然后在传递给 $.get 的函数中(就在使用 $('span') 选择器的部分上方),运行

$('#whereResGoes').html(res);

现在它已加载到您的 DOM 中,您的 $('span') 选择器可以看到它。

请注意,由于这种方法使 oncalltable.html 成为您页面的一部分,因此就像让 oncalltable.html 的作者在您的页面上编写他们想要的任何内容一样。如果该页面受到损害,您的页面也会受到损害。

关于javascript - 如何使用 jquery 通过 .filter 传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39733524/

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