[英]How to pass a variable through .filter using jquery
我設法將一張表從另一個頁面插入到名為res
的變量中。
我需要將此變量通過過濾器進行search
。
我通過使用.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的作者在頁面上寫下他們想要的任何內容一樣。 如果該頁面遭到破壞,您的頁面也會受到損害。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.